1

我想做一些类似于Data bound WPF ComboBox 的事情,选择在 XAML 中定义?但我想在数据表 SettingValues 中指定选项。此数据表将包含三列:SettingType (int)、SettingId (int) 和 Description。我想在组合框中显示某个 SettingType(例如 1)的所有行的描述。我想为每个设置对这个 SettingType 进行硬编码。然后,我想将所选的 SettingId 保存在另一个带有 Setting1 列的表中。

这个问题似乎也做了类似的事情:如何将 ComboBox 与 DataTable 绑定

第一次尝试(代码片段):

<ComboBox SelectedValue="{Binding Setting1}" SelectedValuePath="SettingId">
 <ComboBox.ItemTemplate>
  <DataTemplate>
   <TextBlock Text="{Binding Path=Description}"/>                                 
  </DataTemplate>
</ComboBox>

如何指定要使用的表?现在只是指定的列。如何指定仅使用某些行,其 SettingType 与某个 int 匹配?

4

1 回答 1

1

通过使用解决了从数据表中读取值的问题

<ComboBox x:Name="cbSetting1" ItemsSource="{Binding}">
 <ComboBox.ItemTemplate>
  <DataTemplate>
   <TextBlock Text="{Binding Path=ValueDescription}" />
  </DataTemplate>
 </ComboBox.ItemTemplate>
</ComboBox>

在 .cs 文件中,通过使用将 DataContext 设置为 SettingType == 1 的行

var dataRows1 = svds.SettingValues.Select("SettingType = 1");
cbSetting1.ItemsSource = dataRows1.AsEnumerable();

其中 svds 是一个数据集。

通过使用 cbSetting1.SelectedItem 来保存会话之间的选定设置,以设置和获取值。

于 2012-06-11T11:49:47.030 回答