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" ) 显示,我的第三个控件是一个网格,我只想在我对事务内的项目进行选择时才显示它,但我没有'不想仅在我进行选择时才在页面加载时加载网格,但我也想要标题。

4

1 回答 1

0

嗯,没有必要使用虚拟机,因为恕我直言,这只是一个观点。只需将控件绑定到自身。

<!-- 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 回答