我使用应用程序设置属性和数据绑定存储用户指定的设置。它一直工作正常,直到我希望用户选择组合框的字体。用户设置和组合框之间的数据绑定无法正常工作。我想存储字体系列名称。
App.XML
<Application.Resources>
<ResourceDictionary>
<properties:Settings x:Key="Settings" />
</ResourceDictionary>
</Application.Resources>
Window.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>
设置: font String User Arial
答案 0 :(得分:0)
它以什么方式起作用?是抛出异常,项目是否未编译,或者设置是否未保存?
请注意,修改后必须明确保存设置。因此,您可能最好绑定到应用的ICommand
并保存设置,而不是直接绑定到设置,或者添加绑定到此类命令的“保存”按钮。
答案 1 :(得分:0)
添加 SelectedValuePath =“Source”解决此问题。