0

私がやりたかったのは、コンボボックスの最初の項目をタイトルにすることです。私はグーグルで試してみたところ、IsSynchronizedWithCurrentItem="True" を使用できることがわかりましたが、問題は、ID に基づいて非表示および表示するさまざまなコントロールがあることです。

xaml:コンボボックスアプリケーションのxamlにこれがあるとしましょう

      <ComboBox HorizontalAlignment="Left" Margin="10,0,0,81" Width="122" VerticalAlignment="Bottom"   IsSynchronizedWithCurrentItem="True" 
        ItemsSource="{Binding Path=Applications}" DisplayMemberPath="Name" SelectedValue="{Binding Path= SelectedApplication,Mode=TwoWay}"
         SelectedValuePath="Name" />

コンボボックスのトランザクションのためにここに来るまで、これは良いことです

     <ComboBox Margin="0,0,732,81" HorizontalAlignment="Right" Width="124" VerticalAlignment="Bottom"  IsSynchronizedWithCurrentItem="True" 
        ItemsSource="{Binding Path=TransactionTypes}" DisplayMemberPath="Name" SelectedValue="{Binding Path= SelectedTransaction,Mode=TwoWay}"
        SelectedValuePath="Name" Grid.ColumnSpan="2" />

ここでは、トランザクション コンボボックスの (IsSynchronizedWithCurrentItem="True" ) によって最初の要素が表示されるため、トランザクション内の項目を選択した場合にのみ表示するグリッドである 3 番目のコントロールがデフォルトで表示されますが、表示されません。選択を行うときにのみページの読み込み時にグリッドを読み込みたくありませんが、タイトルも必要です。

4

1 に答える 1

0

うーん、これはビューのみの問題であるため、VM を使用する必要はありません。コントロールをそれ自体にバインドするだけです。

<!-- your settings are omitted, but you should keep them -->
<ComboBox Text="{Binding SelectedItem.Name, RelativeSource={RelativeSource Self}}" />

を使用していることに少し興味がありますSelectedValue。通常は を使用してSelectedItemいますが、いくつかの方法があるかもしれません。

于 2013-06-20T07:26:15.607 に答える