を構築リリースでは動作しませんバインディング。ここでReactiveUIは、私がReactiveUIとの奇妙な問題を打つとデバッグの微細結合作品がリリースビルドではないの構築が、どこ結合していUWPアプリで
私はこの問題を示すサンプルアプリのコードを持っています。デバッグビルドでは、テキストボックスに何かを入力すると、ビューモデルのInputTextプロパティがそれに応じて更新され、ボタンをタップすると、更新された入力テキストがメッセージダイアログに表示されます。 InputTextは常に空のままなので、リリースビルドの同じコードは機能しません。
誰もがここで何が起こっているか知っていますか?
<Page x:Class="RxBind.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel>
<TextBox x:Name="MyTextBox" Margin="10"/>
<Button x:Name="MyButton" Content="Show Dialog" Margin="10"/>
</StackPanel>
</Page>
public sealed partial class MainPage : IViewFor<MainPageViewModel>
{
public MainPage()
{
InitializeComponent();
ViewModel = new MainPageViewModel();
this.WhenActivated(d =>
{
d(this.BindCommand(ViewModel, vm => vm.MyButtonCommand, v => v.MyButton));
d(this.Bind(ViewModel, vm => vm.InputText, x => x.MyTextBox.Text));
});
}
#region IViewFor impl
object IViewFor.ViewModel
{
get { return ViewModel; }
set { ViewModel = (MainPageViewModel)value; }
}
public MainPageViewModel ViewModel { get; set; }
#endregion //IViewFor impl
}
public class MainPageViewModel : ReactiveObject
{
private string _inputText = string.Empty;
public string InputText
{
get { return _inputText; }
set { this.RaiseAndSetIfChanged(ref _inputText, value); }
}
public ReactiveCommand<Unit, Unit> MyButtonCommand { get; }
public MainPageViewModel()
{
MyButtonCommand = ReactiveCommand.CreateFromTask(async() =>
{
await new MessageDialog($"InputText={InputText}").ShowAsync();
});
}
}
@Sunteen Wu、あなたは実際に上記を試して、それが再生するには不十分であるという結論に達しましたか?上記のコードは、文字通り私のサンプルプロジェクトでコーディングしたもので、一行も抜けていない*すべて*です。 –
最新のUWPおよび.NETネイティブツールでも問題を再現できます。それはhttps://github.com/reactiveui/ReactiveUI/issues/1330に似ていますが、私も追いかけて行きたいと思っています。ディスカッションに参加したり、[email protected]で電子メールを送信したりできます。おそらく、私が掘り起こすには1日か2日かかります。 –
申し訳ありませんが、私のせいです。テスト時に 'ReactiveUI'サードパーティパッケージを見逃しました。削除されました。 –