以下のウィンドウでは、Existing Reports コンボが reportObjects の観察可能なコレクションにバインドされています。currentReport
コンボの SelectedValue プロパティ OneWay にバインドされた reportObject プロパティがあります。ただし、XAML でバインドされている場合は機能しません。
SelectedValue="{Binding currentReport, Mode=OneWay}"
undo()
TwoWay バインドは正常に機能しますが、reportObject クラスにメソッドを記述しない限り、そのようにはできません。編集のために、currentReport のプロパティをさまざまなテキスト ボックスにバインドしています。ソースが変更されないように OneWay をバインドしたい。currentReport のプロパティはすべて、対応するテキスト ボックスにバインドされた TwoWay であるため、SQL [保存] でテーブルを更新すると、そのオブジェクトからプルされ、データが最新です。
<TextBox Text="{Binding currentReport.reportName, Mode=TwoWay}"
currentReport からテキストボックスにバインドされたすべてのプロパティも正常に機能します。唯一の問題は、SelectedValue から currentReport オブジェクトへの OneWay バインディングです。これを機能させる方法はありますか?バグがあるのを見ましたが、私が見た投稿は2009年でした。
黄色でごめんなさい。私の考えではありません。=)
編集: 念のため、この XAML を追加しました。
<ComboBox ItemsSource="{Binding reportsCollection}" SelectionChanged="cboReports_SelectionChanged"
DisplayMemberPath="displayName"
SelectedValue="{Binding currentReport, Mode=TwoWay}"
x:Name="cboReports" Width="342" Height="40" VerticalAlignment="Center"/>