reactiveui / reactiveui.samples Goto Github PK
View Code? Open in Web Editor NEWThis repository contains ReactiveUI samples.
Home Page: https://github.com/reactiveui/ReactiveUI
License: MIT License
This repository contains ReactiveUI samples.
Home Page: https://github.com/reactiveui/ReactiveUI
License: MIT License
Hi,
Trying to get my head around using RxUI. In
ReactiveUI.Samples / ReactiveUI.Samples.Commands / RxUI / MainVIewModel.cs
There's a call to MessageBox.Show(...). That seems wrong. Shouldn't that be in the view?
Plug this into the CI server.
Need a Azure-Pipelines that compiles all the projects in this folder.
Made the samples in the Old/ folder be updated to RxUI latest.
If any have been converted already, delete them, if any of them aren't relevant anymore also remove them.
Having both server side/client side samples is a must for us in the future. If we can add some samples about basic Blazor interactions that would be great.
Describe the bug
The given sample from Handbook/MessageBus/Ways to avoid using MessageBus is not working. Only the last added item is handled correct (removed from the list).
It worked fine on version 10.5.43 and failed after that (>=11.*).
Steps To Reproduce
using DynamicData;
using DynamicData.Binding;
using ReactiveUI;
using System;
using System.Collections.ObjectModel;
using System.Linq;
using System.Reactive;
using System.Reactive.Linq;
using Xunit;
namespace ReactiveUITests
{
/// <summary>
/// <code>https://www.reactiveui.net/docs/handbook/message-bus/#ways-to-avoid-using-messagebus</code>
/// </summary>
public class MessageBusWaysToAvoidUsingMessageBusTest
{
public class DocumentViewModel : ReactiveObject
{
public ReactiveCommand<Unit, Unit> Close { get; set; }
public DocumentViewModel()
{
// Note that we don't actually *subscribe* to Close here or implement
// anything in DocumentViewModel, because Closing is a responsibility
// of the document list.
Close = ReactiveCommand.Create(() => { });
}
}
public class MainViewModel : ReactiveObject
{
public ObservableCollection<DocumentViewModel> OpenDocuments { get; protected set; }
public MainViewModel()
{
OpenDocuments = new ObservableCollection<DocumentViewModel>();
// Whenever the list of documents change, calculate a new Observable
// to represent whenever any of the *current* documents have been
// requested to close, then Switch to that. When we get something
// to close, remove it from the list.
OpenDocuments
.ToObservableChangeSet()
.AutoRefreshOnObservable(document => document.Close)
.Select(_ => WhenAnyDocumentClosed())
.Switch()
.Subscribe(x => OpenDocuments.Remove(x));
}
IObservable<DocumentViewModel> WhenAnyDocumentClosed()
{
// Select the documents into a list of Observables
// who return the Document to close when signaled,
// then flatten them all together.
return OpenDocuments
.Select(x => x.Close.Select(_ => x))
.Merge();
}
}
[Fact]
public void TestWithSingleDocument()
{
var main = new MainViewModel();
var doc = new DocumentViewModel();
main.OpenDocuments.Add(doc);
doc.Close.Execute().Subscribe();
var actual = main.OpenDocuments.Count;
Assert.Equal(0, actual);
}
[Fact]
public void TestWithFirstFromMultipleDocuments()
{
var main = new MainViewModel();
var doc = new DocumentViewModel();
main.OpenDocuments.Add(doc);
main.OpenDocuments.Add(new DocumentViewModel());
main.OpenDocuments.Add(new DocumentViewModel());
main.OpenDocuments.Add(new DocumentViewModel());
main.OpenDocuments.Add(new DocumentViewModel());
doc.Close.Execute().Subscribe();
var actual = main.OpenDocuments.Count;
Assert.Equal(4, actual);
}
[Fact]
public void TestWithCenterFromMultipleDocuments()
{
var main = new MainViewModel();
var doc = new DocumentViewModel();
main.OpenDocuments.Add(new DocumentViewModel());
main.OpenDocuments.Add(new DocumentViewModel());
main.OpenDocuments.Add(doc);
main.OpenDocuments.Add(new DocumentViewModel());
main.OpenDocuments.Add(new DocumentViewModel());
doc.Close.Execute().Subscribe();
var actual = main.OpenDocuments.Count;
Assert.Equal(4, actual);
}
[Fact]
public void TestWithLastFromMultipleDocuments()
{
var main = new MainViewModel();
var doc = new DocumentViewModel();
main.OpenDocuments.Add(new DocumentViewModel());
main.OpenDocuments.Add(new DocumentViewModel());
main.OpenDocuments.Add(new DocumentViewModel());
main.OpenDocuments.Add(new DocumentViewModel());
main.OpenDocuments.Add(doc);
doc.Close.Execute().Subscribe();
var actual = main.OpenDocuments.Count;
Assert.Equal(4, actual);
}
}
}
Environment
hi
reactiveui dont have any sample for wpf in .net 5?
Make the readme file more accurately describe what is in here.
to resolve NuGet: 'X' already has a dependency defined for 'Y' problem in VS2012 (http://stackoverflow.com/questions/25725545/nuget-x-already-has-a-dependency-defined-for-y)
It would be nice to have a simple loading label appear as NuGet records are being retrieved. Maybe put in a Task.Delay to emphasize it.
Is your feature request related to a problem? Please describe.
Describe the solution you'd like
Describe alternatives you've considered
Describe suggestions on how to achieve the feature
Additional context
I'm learning and I would like to do it using the latest bits, to keep me updated from now on! Thanks.
Is your feature request related to a problem? Please describe.
Need some samples/instructions for Xamarin.Mac.
Describe the solution you'd like
Clear steps for create a Xamarin.Mac project and view/viewmodel binding logics.
Describe alternatives you've considered
Umm, may be like Xamarin.Forms for Mac?
Describe suggestions on how to achieve the feature
Just supply the sample code and instructions.
Additional context
I found a wired project for this request, https://developer.xamarin.com/samples/mac/ReactiveUIExample/ , however, I thought it's wrong way to use ReactiveUI in Xamarin.Mac.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
Microsoft.AspNetCore.Components.WebAssembly
, Microsoft.AspNetCore.Components.WebAssembly.DevServer
, Microsoft.AspNetCore.Components.WebAssembly.Server
)NuGet.Protocol
, nuget.protocol
)Microsoft.CodeCoverage
, Microsoft.NET.Test.Sdk
)Microsoft.AspNetCore.Components.WebAssembly
, Microsoft.AspNetCore.Components.WebAssembly.Server
, Microsoft.Extensions.Hosting
, Microsoft.Extensions.Logging
, Microsoft.Extensions.Logging.Console
, System.Net.Http.Json
)These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
.github/workflows/dotnet-desktop.yml
.github/workflows/lock.yml
dessant/lock-threads v3
Directory.build.props
Roslynator.Analyzers 4.5.0
Uno/ReactiveUI.UnoRouting/ReactiveUI.UnoRouting.Mobile/ReactiveUI.UnoRouting.Mobile.csproj
Uno.Extensions.Logging.OSLog 1.4.0
Uno.Extensions.Logging.OSLog 1.4.0
Uno.UniversalImageLoader 1.9.36
Xamarin.Google.Android.Material 1.5.0
Microsoft.Extensions.Logging.Console 7.0.0
Microsoft.Extensions.Logging 7.0.0
Uno.UI.Adapter.Microsoft.Extensions.Logging 5.0.48
Uno.WinUI.RemoteControl 4.10.37
Uno.Extensions.Logging.OSLog 1.6.0
Uno/ReactiveUI.UnoRouting/ReactiveUI.UnoRouting.Skia.Gtk/ReactiveUI.UnoRouting.Skia.Gtk.csproj
Uno.UI.Adapter.Microsoft.Extensions.Logging 5.0.48
Uno.WinUI.RemoteControl 4.10.37
Uno.WinUI.Skia.Gtk 4.10.37
Microsoft.Extensions.Logging.Console 7.0.0
Microsoft.Extensions.Logging 7.0.0
Uno/ReactiveUI.UnoRouting/ReactiveUI.UnoRouting.Skia.Wpf/ReactiveUI.UnoRouting.Skia.Wpf.csproj
Uno.UI.Adapter.Microsoft.Extensions.Logging 5.0.48
Uno.WinUI.RemoteControl 4.10.37
Uno.WinUI.Skia.Wpf 4.10.37
Microsoft.Extensions.Logging.Console 7.0.0
Microsoft.Extensions.Logging 7.0.0
Uno/ReactiveUI.UnoRouting/ReactiveUI.UnoRouting.Wasm/ReactiveUI.UnoRouting.Wasm.csproj
Uno.Wasm.Bootstrap.DevServer 7.0.29
Uno.Wasm.Bootstrap 7.0.31
Uno.UI.Adapter.Microsoft.Extensions.Logging 5.0.48
Uno.WinUI.RemoteControl 4.10.37
Uno.WinUI.WebAssembly 4.10.37
Uno.Extensions.Logging.WebAssembly.Console 1.6.0
Microsoft.Extensions.Logging 7.0.0
Microsoft.Windows.Compatibility 7.0.3
Uno/ReactiveUI.UnoRouting/ReactiveUI.UnoRouting.Windows/ReactiveUI.UnoRouting.Windows.csproj
Uno.Core.Extensions.Logging.Singleton 4.0.1
Microsoft.Extensions.Logging.Console 7.0.0
Xamarin/Cinephile/Cinephile.Android/Cinephile.Android.csproj
Xamarin.AndroidX.Preference 1.2.0
Xamarin.AndroidX.Core 1.8.0
Xamarin.Google.Android.Material 1.5.0
Xamarin.AndroidX.Lifecycle.LiveData 2.3.1.1
Xamarin.AndroidX.MediaRouter 1.2.5.3
Xamarin.AndroidX.Palette 1.0.0.11
Xamarin/Cinephile/Cinephile.Core/Cinephile.Core.csproj
System.Reactive.Compatibility 6.0.0
Xamarin/Cinephile/Cinephile.UWP/Cinephile.UWP.csproj
Xamarin.Essentials 1.8.0
Microsoft.NETCore.UniversalWindowsPlatform 6.2.14
Xamarin.Forms 5.0.0.2612
Xamarin/Cinephile/Cinephile.UnitTests/Cinephile.UnitTests.csproj
Microsoft.Reactive.Testing 6.0.0
Microsoft.CodeCoverage 17.8.0
Moq 4.20.70
NUnit3TestAdapter 4.5.0
NUnit.Console 3.17.0
NUnit 3.13.3
Microsoft.NET.Test.Sdk 17.7.2
Xamarin/Cinephile/Cinephile.iOS/Cinephile.iOS.csproj
Xamarin.Essentials 1.8.0
Xamarin.Forms 5.0.0.2612
Xamarin/Cinephile/Cinephile/Cinephile.csproj
Xamarin.Essentials 1.8.0
Xamarin.FFImageLoading.Forms 2.4.11.982
Xamarin/MasterDetail/MasterDetail.Android/MasterDetail.Android.csproj
Xamarin.Essentials 1.8.0
Xamarin.Forms 5.0.0.2578
Xamarin/MasterDetail/MasterDetail.iOS/MasterDetail.iOS.csproj
Xamarin.Essentials 1.8.0
Xamarin.Forms 5.0.0.2612
Xamarin/MasterDetail/MasterDetail/MasterDetail.csproj
Xamarin.Essentials 1.8.0
Xamarin/Navigation.Parameters/Android/Android.csproj
ReactiveUI 9.17.11
Xamarin.Essentials 1.1.0
Xamarin.Android.Support.CustomTabs 28.0.0.1
Xamarin.Android.Support.Core.Utils 28.0.0.1
Xamarin.Android.Support.v7.MediaRouter 28.0.0.1
Xamarin.Android.Support.v7.CardView 28.0.0.1
Xamarin.Android.Support.v4 28.0.0.1
Xamarin.Android.Support.v7.AppCompat 28.0.0.1
Xamarin.Android.Support.Design 28.0.0.1
Xamarin/Navigation.Parameters/Forms/Forms.csproj
Sextant.XamForms 1.7.22
ReactiveUI.XamForms 9.17.11
Xamarin.Essentials 1.1.0
ReactiveUI.Validation 1.2.1
Xamarin/Navigation.Parameters/iOS/iOS.csproj
ReactiveUI 9.17.11
Xamarin.Essentials 1.1.0
Xamarin/ReactiveRecyclerView/Droid/TestApp.Droid.csproj
Xamarin.Android.Support.ViewPager 28.0.0.1
Xamarin.Android.Support.VersionedParcelable 28.0.0.1
Xamarin.Android.Support.Vector.Drawable 28.0.0.1
Xamarin.Android.Support.v7.RecyclerView 28.0.0.1
Xamarin.Android.Support.v7.Palette 28.0.0.1
Xamarin.Android.Support.v7.MediaRouter 28.0.0.1
Xamarin.Android.Support.v7.CardView 28.0.0.1
Xamarin.Android.Support.v7.AppCompat 28.0.0.1
Xamarin.Android.Support.v4 28.0.0.1
Xamarin.Android.Support.Transition 28.0.0.1
Xamarin.Android.Support.SwipeRefreshLayout 28.0.0.1
Xamarin.Android.Support.SlidingPaneLayout 28.0.0.1
Xamarin.Android.Support.Print 28.0.0.1
Xamarin.Android.Support.Media.Compat 28.0.0.1
Xamarin.Android.Support.LocalBroadcastManager 28.0.0.1
Xamarin.Android.Support.Loader 28.0.0.1
Xamarin.Android.Support.Interpolator 28.0.0.1
Xamarin.Android.Support.Fragment 28.0.0.1
Xamarin.Android.Support.Exif 28.0.0.1
Xamarin.Android.Support.DrawerLayout 28.0.0.1
Xamarin.Android.Support.DocumentFile 28.0.0.1
Xamarin.Android.Support.Design 28.0.0.1
Xamarin.Android.Support.CustomView 28.0.0.1
Xamarin.Android.Support.CustomTabs 28.0.0.1
Xamarin.Android.Support.CursorAdapter 28.0.0.1
Xamarin.Android.Support.Core.Utils 28.0.0.1
Xamarin.Android.Support.Core.UI 28.0.0.1
Xamarin.Android.Support.CoordinaterLayout 28.0.0.1
Xamarin.Android.Support.Compat 28.0.0.1
Xamarin.Android.Support.Collections 28.0.0.1
Xamarin.Android.Support.AsyncLayoutInflater 28.0.0.1
Xamarin.Android.Support.Annotations 28.0.0.1
Xamarin.Android.Support.Animated.Vector.Drawable 28.0.0.1
Xam.Plugin.Connectivity 3.2.0
NETStandard.Library 2.0.3
DynamicData.ReactiveUI 6.11.0.2613
ReactiveUI.AndroidSupport 9.19.5
ReactiveUI 9.19.5
Plugin.Share 7.1.1
Xamarin/ReactiveRecyclerView/iOS/TestApp.iOS.csproj
Xam.Plugin.Connectivity 3.2.0
System.Threading.Tasks.Extensions 4.5.3
Splat 8.1.1
ReactiveUI 9.19.5
Plugin.Share 7.1.1
Newtonsoft.Json 13.0.1
DynamicData 6.12.10
Xamarin/Timer/Timer/Timer.csproj
System.Threading.Tasks.Extensions 4.5.2
System.Runtime.InteropServices.WindowsRuntime 4.3.0
System.Reactive 4.1.5
Splat 7.2.1
ReactiveUI.Events 9.16.6
ReactiveUI 9.16.6
DynamicData 6.9.1.2588
avalonia/hello-world/HelloWorld/HelloWorld.csproj
Avalonia.Desktop 11.0.10
Avalonia.ReactiveUI 11.0.10
Avalonia 11.0.10
avalonia/hello-world/RandomBuddyStalker/RandomBuddyStalker.csproj
Roslynator.Analyzers 4.4.0
Serilog 3.0.1
Newtonsoft.Json 13.0.3
ReactiveUI.Fody 19.4.1
Flurl 3.0.7
Flurl.Http 3.2.4
Avalonia.Diagnostics 11.0.10
Avalonia.Themes.Fluent 11.0.10
Avalonia.ReactiveUI 11.0.10
Avalonia.Fonts.Inter 11.0.10
Avalonia.Desktop 11.0.10
Avalonia 11.0.10
avalonia/suspension/ReactiveUI.Samples.Suspension/ReactiveUI.Samples.Suspension.csproj
Roslynator.Analyzers 4.7.0
Splat.Serilog 14.8.12
Newtonsoft.Json 13.0.3
Avalonia.Themes.Fluent 11.0.10
Avalonia.ReactiveUI 11.0.10
Avalonia.Fonts.Inter 11.0.10
Avalonia.Diagnostics 11.0.10
Avalonia.Desktop 11.0.10
blazor/ClientSideExample/ClientSideExample/ClientSideExample.csproj
System.Net.Http.Json 7.0.1
Microsoft.AspNetCore.Components.WebAssembly.DevServer 8.0.0
Microsoft.AspNetCore.Components.WebAssembly 7.0.14
blazor/HostedExample/HostedExample/Client/HostedExample.Client.csproj
System.Net.Http.Json 7.0.1
Microsoft.AspNetCore.Components.WebAssembly.DevServer 8.0.0
Microsoft.AspNetCore.Components.WebAssembly 7.0.14
blazor/HostedExample/HostedExample/Server/HostedExample.Server.csproj
Microsoft.AspNetCore.Components.WebAssembly.Server 7.0.12
global.json
MSBuild.Sdk.Extras 3.0.44
testing/ReactiveUI.Samples.Testing.SimpleViewModels.Tests/ReactiveUI.Samples.Testing.SimpleViewModelsUnitTests.csproj
xunit 2.6.4
winforms/demo/ReactiveDemo/ReactiveUIDemo - Backup.csproj
ReactiveUI.WinForms 13.3.2
nuget.protocol.core.v3 4.2.0
nuget.client 4.2.0
winforms/demo/ReactiveDemo/ReactiveUIDemo.csproj
nuget.protocol 6.7.0
nuget.client 4.2.0
winforms/demo2/WinForms.Reactive.Client.Tests/WinForms.Reactive.Client.Tests.csproj
Splat.DependencyInjection.SourceGenerator 1.1.93
coverlet.collector 6.0.1
NUnit3TestAdapter 4.5.0
NUnit 3.13.3
Microsoft.NET.Test.Sdk 17.7.2
ReactiveMarbles.ObservableEvents.SourceGenerator 1.3.1
FluentAssertions 6.12.0
winforms/demo2/WinForms.Reactive.Client/WinForms.Reactive.Client.csproj
Splat.Serilog 14.7.1
Splat.Microsoft.Extensions.Logging 14.7.1
Splat.Microsoft.Extensions.DependencyInjection 14.7.1
Splat.DependencyInjection.SourceGenerator 1.1.93
ReactiveMarbles.ObservableEvents.SourceGenerator 1.3.1
Microsoft.Extensions.Hosting 7.0.1
wpf/ReactiveUI.Samples.Basics.FSharp/ReactiveUI - Backup.Samples.Basics.FSharp.fsproj
FSharp.Core 5.0.2
wpf/ReactiveUI.Samples.Basics.FSharp/ReactiveUI.Samples.Basics.FSharp.fsproj
FSharp.Core 8.0.100
FSharp.Core.Wpf 5.0.3
wpf/ReactiveUI.Samples.Basics/ReactiveUI.Samples.Basics.csproj
System.ComponentModel.Annotations 5.0.0
wpf/ReactiveUI.Samples.Commands/ReactiveUI.Samples.Commands.csproj
MvvmLightLibs 5.4.1.1
Caliburn.Micro 4.0.212
wpf/getting-started/ReactiveDemo/ReactiveDemo.csproj
NuGet.Protocol 6.7.0
Build Errors
Project "/Users/pchopra/Projects/ReactiveUI.Samples/xamarin-forms/MasterDetail/MasterDetail/MasterDetail.csproj" (Build target(s)):
Target WinUICheckTargetPlatformVersion:
/Users/pchopra/.nuget/packages/xamarin.forms/4.3.0.991250/build/Xamarin.Forms.targets(189,5): warning : Xamarin.Forms recommends TargetPlatformMinVersion >= 10.0.14393.0 (current project is -1)
/Users/pchopra/.nuget/packages/xamarin.forms/4.3.0.991250/build/Xamarin.Forms.targets(195,5): warning : Xamarin.Forms recommends TargetPlatformVersion >= 10.0.17763.0 (current project is -1)
Done building target "WinUICheckTargetPlatformVersion" in project "MasterDetail.csproj".
Target ResolvePackageAssets:
/Users/pchopra/Projects/ReactiveUI.Samples/xamarin-forms/MasterDetail/MasterDetail/MasterDetail.csproj : error NU1605: Detected package downgrade: Xamarin.Forms from 4.7.0.1351 to 4.3.0.991250. Reference the package directly from the project to select a different version.
/Users/pchopra/Projects/ReactiveUI.Samples/xamarin-forms/MasterDetail/MasterDetail/MasterDetail.csproj : error NU1605: MasterDetail -> ReactiveUI.XamForms 12.1.5 -> Xamarin.Forms (>= 4.7.0.1351)
/Users/pchopra/Projects/ReactiveUI.Samples/xamarin-forms/MasterDetail/MasterDetail/MasterDetail.csproj : error NU1605: MasterDetail -> Xamarin.Forms (>= 4.3.0)
Done building target "ResolvePackageAssets" in project "MasterDetail.csproj" -- FAILED.
Done building project "MasterDetail.csproj" -- FAILED.
Build FAILED.
/Users/pchopra/.nuget/packages/xamarin.forms/4.3.0.991250/build/Xamarin.Forms.targets(189,5): warning : Xamarin.Forms recommends TargetPlatformMinVersion >= 10.0.14393.0 (current project is -1)
/Users/pchopra/.nuget/packages/xamarin.forms/4.3.0.991250/build/Xamarin.Forms.targets(195,5): warning : Xamarin.Forms recommends TargetPlatformVersion >= 10.0.17763.0 (current project is -1)
/Users/pchopra/Projects/ReactiveUI.Samples/xamarin-forms/MasterDetail/MasterDetail/MasterDetail.csproj : error NU1605: Detected package downgrade: Xamarin.Forms from 4.7.0.1351 to 4.3.0.991250. Reference the package directly from the project to select a different version.
/Users/pchopra/Projects/ReactiveUI.Samples/xamarin-forms/MasterDetail/MasterDetail/MasterDetail.csproj : error NU1605: MasterDetail -> ReactiveUI.XamForms 12.1.5 -> Xamarin.Forms (>= 4.7.0.1351)
/Users/pchopra/Projects/ReactiveUI.Samples/xamarin-forms/MasterDetail/MasterDetail/MasterDetail.csproj : error NU1605: MasterDetail -> Xamarin.Forms (>= 4.3.0)
2 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.09
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Cloned the repo and tried to build main branch but fails with the below errors
Environment
VS Mac version: 8.8.5 (build 18)
Mono 6.12.0.113
Xamarin.iOS Version: 14.8.0.3
Xamarin.Android Version: 11.1.0.26
Lines 147 to 152 in 57f54cd
TODO
comment in 57f54cd. It's been assigned to @glennawatson because they committed the code.Describe the bug
I can't load the Uno samples in Visual Studio 2019.
Steps To Reproduce
Open the sample solution in Visual Studio 2019 and you will see that the Uno sample projects don't load.
Expected behavior
Projects load
Screenshots
Environment
Microsoft Visual Studio Professional 2019
Version 16.6.2
VisualStudio.16.Release/16.6.2+30204.135
Microsoft .NET Framework
Version 4.8.03752
Installed Version: Professional
Visual C++ 2019 00435-20310-92022-AA828
Microsoft Visual C++ 2019
ASP.NET and Web Tools 2019 16.6.948.25768
ASP.NET and Web Tools 2019
ASP.NET Core Razor Language Services 16.1.0.2020603+b3ac44798c16fff5b95dbcfe62dea84aa9a1bd72
Provides languages services for ASP.NET Core Razor.
ASP.NET Web Frameworks and Tools 2019 16.6.948.25768
For additional information, visit https://www.asp.net/
Azure App Service Tools v3.0.0 16.6.948.25768
Azure App Service Tools v3.0.0
Azure Functions and Web Jobs Tools 16.6.948.25768
Azure Functions and Web Jobs Tools
C# Tools 3.6.0-4.20251.5+910223b64f108fcf039012e0849befb46ace6e66
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Common Azure Tools 1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
Extensibility Message Bus 1.2.0 (d16-2@8b56e20)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.
IntelliCode Extension 1.0
IntelliCode Visual Studio Extension Detailed Info
JetBrains ReSharper Ultimate 2020.1.3 Build 201.0.20200515.122017
JetBrains ReSharper Ultimate package for Microsoft Visual Studio. For more information about ReSharper Ultimate, visit http://www.jetbrains.com/resharper. Copyright © 2020 JetBrains, Inc.
Microsoft Azure Tools 2.9
Microsoft Azure Tools for Microsoft Visual Studio 2019 - v2.9.30212.1
Microsoft Continuous Delivery Tools for Visual Studio 0.4
Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.
Microsoft JVM Debugger 1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft Library Manager 2.1.50+g25aae5a24a.R
Install client-side libraries easily to any web project
Microsoft MI-Based Debugger 1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Microsoft Visual C++ Wizards 1.0
Microsoft Visual C++ Wizards
Microsoft Visual Studio Tools for Containers 1.1
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.
Microsoft Visual Studio VC Package 1.0
Microsoft Visual Studio VC Package
Mono Debugging for Visual Studio 16.6.17 (9692114)
Support for debugging Mono processes with Visual Studio.
Node.js Tools 1.5.20317.1 Commit Hash:3e70368beb9630c811076c051f4c9a59b45d7c10
Adds support for developing and debugging Node.js apps in Visual Studio
NuGet Package Manager 5.6.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/
ProjectServicesPackage Extension 1.0
ProjectServicesPackage Visual Studio Extension Detailed Info
SQL Server Data Tools 16.0.62006.03190
Microsoft SQL Server Data Tools
Test Adapter for Boost.Test 1.0
Enables Visual Studio's testing tools with unit tests written for Boost.Test. The use terms and Third Party Notices are available in the extension installation directory.
Test Adapter for Google Test 1.0
Enables Visual Studio's testing tools with unit tests written for Google Test. The use terms and Third Party Notices are available in the extension installation directory.
TypeScript Tools 16.0.20417.2002
TypeScript Tools for Microsoft Visual Studio
UnoPlatformPackage Extension 1.0
UnoPlatformPackage Visual Studio Extension Detailed Info
Visual Basic Tools 3.6.0-4.20251.5+910223b64f108fcf039012e0849befb46ace6e66
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Visual C++ for Cross Platform Mobile Development (Android) 16.0.30014.67
Visual C++ for Cross Platform Mobile Development (Android)
Visual F# Tools 10.9.1.0 for F# 4.7 16.6.0-beta.20217.4+1c969cac25e2d38d71872efe6c8226029e42bb59
Microsoft Visual F# Tools 10.9.1.0 for F# 4.7
Visual Studio Code Debug Adapter Host Package 1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio
Visual Studio Container Tools Extensions (Preview) 1.0
View, manage, and diagnose containers within Visual Studio.
Visual Studio Tools for CMake 1.0
Visual Studio Tools for CMake
Visual Studio Tools for Containers 1.0
Visual Studio Tools for Containers
VisualStudio.DeviceLog 1.0
Information about my package
VisualStudio.Foo 1.0
Information about my package
VisualStudio.Mac 1.0
Mac Extension for Visual Studio
Xamarin 16.6.000.1061 (d16-6@8e68aa8)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin Designer 16.6.0.318 (remotes/origin/d16-6@66afc5421)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.
Xamarin Templates 16.6.40 (1f1466f)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.
Xamarin.Android SDK 10.3.1.4 (d16-6/3a10de9)
Xamarin.Android Reference Assemblies and MSBuild support.
Mono: 165f4b0
Java.Interop: xamarin/java.interop@2cab35c
ProGuard: xamarin/proguard@905836d
SQLite: xamarin/sqlite@49232bc
Xamarin.Android Tools: xamarin/xamarin-android-tools@bfb66f3
Xamarin.iOS and Xamarin.Mac SDK 13.18.2.1 (29c4ea7)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.
Turns out I cannot read and posted the issue here instead in the Prism samples repo. Im sorry for that. Nothing to see here, move along.
Is your feature request related to a problem? Please describe.
I am missing a sample or some documentation explaining the correct way to handle this. I want to set up a .NET Core WPF application which uses Prism and whose Lifetime / DI / Configuration is controlled (or supported) by a Generic Host.
In my case I am utilizing DryIoC as my ioc container of choice.
Right now WPF does not do a great job of using newer framework features, there are some open issues on GH like dotnet/wpf:499. So even if the WPF integration will not be perfect, some aspects can already be put to good use: IoC, Configuration and Hosted Services for background tasks.
Describe the solution you'd like
Clear guidelines for bootstrapping an application using a Generic Host, sample included.
I am having trouble finding definitive information on instantiating the IoC container myself. There is a hook that seems to be doing that - CreateContainerExtension()
. Is this the correct way to go about it? If yes, is its intended use documented and if not - can we improve the documentation?
Describe alternatives you've considered
I managed to get things going with a couple of extra lines, but I'm sure that there are better ways to go about that (eg utilizing the aforementioned CreateContainerExtension
method).
Additional dependencies:
Microsoft.Extensions.Hosting
- this dependency is for the generic host feature.DryIoc.Microsoft.DependencyInjection
- package with extension methods for the dryioc adapter, usually used in the context of ASPNET Core.The App.xaml.cs actually looks alright, services can be registered as usual and resolved via base.Container
and via _host.Services
since im basically just adding more registrations to the instantiated container.
// App.xaml.cs
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.Register<ServiceA>();
}
protected override Window CreateShell()
{
_host = new HostBuilder()
.ConfigureServices(x =>
{
x.AddTransient<ServiceB>();
})
.UseServiceProviderFactory(new DryIocServiceProviderFactory(Container))
.Build();
_host.Start();
// ServiceA and ServiceB can be resolved here.
return _host.Services.GetService<MainWindow>();
}
While implementing the DryIoC Service Provider Factory it became obvious that I'm going down the wrong path. As you will see, I am taking the instantiated container and casting it to the known underlying type. Normally you would new up a container in CreateBuilder
so this current implementation feels wrong.
// DryIocServiceProviderFactory.cs
internal class DryIocServiceProviderFactory : IServiceProviderFactory<IContainer>
{
private readonly DryIocContainerExtension _containerProvider;
public DryIocServiceProviderFactory(IContainerProvider containerProvider)
{
// I should not be doing this..
_containerProvider = containerProvider as DryIocContainerExtension;
}
public IContainer CreateBuilder(IServiceCollection services)
{
return _containerProvider.Instance.WithDependencyInjectionAdapter(services);
}
public IServiceProvider CreateServiceProvider(IContainer containerBuilder)
{
return containerBuilder.Resolve<IServiceProvider>();
}
}
Describe suggestions on how to achieve the feature
So if I am correct, I need to somehow use the CreateContainerExtension()
method.
The following does not work, Prism services are missing from the container and cannot be resolved.
protected override IContainerExtension CreateContainerExtension()
{
return new DryIocContainerExtension(new DryIoc.Container());
}
I thought that these would get registered in the container I return from this method.
Hopefully I did not miss anything obvious in the documentation, I searched but found nothing. I would love to contribute to the project and push such a sample, but before doing that I need a bit of hand holding. Thanks!
Hi, I was wondering if you are intersted in accepting a PR in the WinForms example that:
Missing reference in project file to System.Xaml
Running application throws System.NullReferenceException
when calling PackageSearchResource.SearchAsync()
Reason: Cannot pass null to SearchAsync()
for NuGet.Common.ILogger
parameter
Fix: pass NuGet.Common.NullLogger.Instance
instead of null
How can we use ReactiveUI in ASP Core components / views.
Please add some samples
You can in PackageReference's use the * notation in the Version.
Eg
<ProjectReference Include="ReactiveUI" Version="*" />
If you use this notation for any RxUI based dependencies it'll make sure we are on latest.
That way we can trigger sample compiles after any new release of ReactiveUI to make sure the samples still at least compile and pass any unit tests they have.
It seems like it has the two testing packages (from Rx and from ReactiveUI), but removing them doesn't affect the sample. Extra?
Describe the bug
ReactiveUI.Samples-main\winforms\demo2\WinForms.Reactive.Client
this demo is not work,no data
Steps To Reproduce
https://github.com/reactiveui/ReactiveUI.Samples
ReactiveUI.Samples-main\winforms\demo2\WinForms.Reactive.Client
Expected behavior
work well
Environment
In the Razor example at the moment there is a state bug.
the sources of this library could help:
https://github.com/kekekeks/NObservable
contains sources for fixing those state management issues
the magic happens here mostly https://github.com/kekekeks/NObservable/blob/master/src/NObservable.Blazor/Internals/NObservableBlazorComponentHelper.cs
I just submitted a PR with the a new WinForms demo project. Let me know if I need to improve something!
PR #518
Ps. the build failed, but because of the Blazor project, I don't think it's related to my PR.
The demo implements:
ReactiveMarbles.ObservableEvents.SourceGenerator
).Describe the bug
The doc Command Names says:
Don't suffix ReactiveCommand properties' names with Command; instead, name the property using a verb that describes the command's action. For example:
public ReactiveCommand Synchronize { get; private set; }
But the sample code can find violations everywhere, just name a few:
CalculateCommand
https://github.com/reactiveui/ReactiveUI.Samples/blob/main/wpf/ReactiveUI.Samples.Basics/ViewModels/CalculatorViewModel.cs
StartAsyncCommand
https://github.com/reactiveui/ReactiveUI.Samples/blob/main/wpf/ReactiveUI.Samples.Commands/RxUI/MainVIewModel.cs
Describe the bug
The project ReactiveUI.Samples.Routing101 can't be compiled because there is an error:
CS0200 Property or indexer 'ILogger.Level' cannot be assigned to -- it is read only ReactiveUI.Samples.Routing101 ..\ReactiveUI.Samples.Routing\ViewModels\AppBootstrapper.cs Line 44
Steps To Reproduce
Expected behavior
The project should be able to be build.
Environment
Additional context
A easy workaround is to delete the affected line.
Not related to any specific problem, just looking for optimal ways to do some stuff.
Describe the solution you'd like
Describe alternatives you've considered
N/A
Describe suggestions on how to achieve the feature
Add more examples.
Additional context
N/A
The routing sample has an extension baked directly into the view here that determines when it is safe to start subscribing to the command's execution:
public WelcomeView()
{
InitializeComponent();
this.WhenNavigatedTo(ViewModel, () => {
//...
DataContext = ViewModel;
return ViewModel.HelloWorld.Subscribe(param =>
MessageBox.Show("It worked!"));
});
}
It looks like this "WhenNavigatedTo" extension was indeed merged into ReactiveUI but for IRoutableViewModel instances instead (which I guess makes sense...the view doesn't need to know about navigation per se).
However, the only way I can figure out how to essentially do the same thing as the sample is to use Observable.FromEventPattern on the DataContextChanged event:
public WelcomeView()
{
InitializeComponent();
this.WhenAnyValue(x => x.ViewModel).BindTo(this, x => x.DataContext);
Observable.FromEventPattern<DependencyPropertyChangedEventHandler, DependencyPropertyChangedEventArgs>(
x => DataContextChanged += x,
x => DataContextChanged -= x)
.Subscribe((e) => {
IWelcomeViewModel vm = e.EventArgs.NewValue as IWelcomeViewModel;
if (vm != null)
vm.HelloWorld.Subscribe(param => MessageBox.Show("It worked!!!"));
});
}
Is there meant to be a more concise way? There's a bit of a disconnect with the sample and the latest version of RxUI. My feable attempts at understanding are here
What would you think about adding two testing samples that demonstrate how to test view models? One that doesn't use time travel and one that does? Or similar. I ask because it took me a few hours of fumbling around to learn it, and having something I could copy would have been helped me out.
If this isn't the right place to ask this sort of question, let me know where.
Describe the bug
When a button is bound to a Command, the enabled/disabled should also be bound to CanExecute.
The example: https://github.com/reactiveui/ReactiveUI.Samples/tree/main/wpf/ReactiveUI.Samples.Commands
Shows a UI like this:
Interestingly, MVVM Light and Carliburn.Micro samples both button disabled when textbox is empty.
But ReactiveUI's button is always enabled.
Maybe the original author forgot it?
Steps To Reproduce
Just clone the repo and run ReactiveUI.Samples.Commands sample. Check each's button's enablility.
Expected behavior
When text is empty, disable button.
Environment
Is your feature request related to a problem? Please describe.
I was taking a look and maybe I searched too quickly but haven’t found samples with F#. Being an FRP library, I thought F# would go in pair with this, no?
Describe the solution you'd like
Maybe have a dedicated folder for F# sample projects in the repo?
Describe alternatives you've considered
Describe suggestions on how to achieve the feature
Let’s create small and medium size projects for both desktop and mobile showcasing ReactiveUI with F#
Additional context
Is your feature request related to a problem? Please describe.
Currently, we have a single solution that aggregates all samples. While I can appreciate the practicality for maintenance, it becomes confusing when attempting to learn how to build something specific. Additionally, some projects fail to load on a Mac. There are instances of projects with 'hidden' dependencies, such as the MAUI version using Xamarin projects. Lastly, there is what I would describe as 'sensory overload' when attempting to read and understand.
Describe the solution you'd like
Imagine a newcomer or an experienced developer seeking guidance on "how to use RxUI with Blazor." They should navigate to the samples repository, encounter a well-organized readme featuring all current samples along with brief descriptions, and easily locate a folder containing the required sample(s).
Once the sample is downloaded, and the developer opens the solution, the only elements visible to them should be the code relevant to their specific inquiry.
Describe alternatives you've considered
Describe suggestions on how to achieve the feature
The entire solution is divided into three steps:
Additional context
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.