代码之家  ›  专栏  ›  技术社区  ›  user131077

将combobox所选项目数据绑定到设置

  •  1
  • user131077  · 技术社区  · 16 年前

    我使用应用程序设置属性和数据绑定存储用户指定的设置。它一直工作得很好,直到我想用户选择字体为组合框。用户设置和combobox之间的数据绑定不起作用。我要存储字体系列名。

    App.XML
    <Application.Resources>
        <ResourceDictionary>
            <properties:Settings x:Key="Settings" />
        </ResourceDictionary>               
    </Application.Resources>
    

    窗口.XML

    <ComboBox Name="Families" ItemsSource="{x:Static Fonts.SystemFontFamilies}"
      <!-- This line -->
      SelectedItem="{Binding Source={StaticResource Settings}, Path=Default.Font, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
                  Margin="57,122,199,118">
            <ComboBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding}" FontFamily="{Binding}"/>
            </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>
    

    设置: 字体字符串用户Arial

    2 回复  |  直到 16 年前
        1
  •  0
  •   Jay    16 年前

    它在哪方面不起作用?是否引发异常,项目是否未编译,或设置未保存?

    别忘了,一旦设置被修改,就必须明确地保存它们。因此,最好绑定到 ICommand 应用并保存设置,而不是直接应用于设置,或添加绑定到此类命令的“保存”按钮。

        2
  •  0
  •   user131077 user131077    16 年前

    SelectedValuePath=“源” 解决这个问题。