1
我想简化WPF中的绑定。假设我在App.xaml中创建了一个FontFamily
资源,该资源绑定到应用程序设置中的字符串值,以避免在每个窗口中出现一长串绑定表达式。但是我发现我找不到这样做的方法。将静态资源绑定到WPF中的现有值
据说XAML 2009中有一个x:Arguments
,但这不适用于此。
我的方法:
<DynamicResource x:Key="PrimaryFont" ResourceKey="{Binding PrimaryFont, Source={x:Static properties:Settings.Default}, Converter={StaticResource StringToFontFamilyConverter}}"/>
失败,抛出一个XamlParseException
。
<FontFamily x:Key="PrimaryFont">
<Binding Path="PrimaryFont" Source="{x:Static properties:Settings.Default}" Converter="{StaticResource StringToFontFamilyConverter}"/>
</FontFamily>
这甚至不能编译。
我不想在代码背后添加,因为我不想让所有的东西看起来像一团糟。那可能吗?
编辑:这不是Setting global font family的副本。 FontFamily
只是为了解释的目的,在现实世界中会有多种元素我想要简化绑定,而元素可能不是新风格的好目标。
我不明白这是如何重复的? – KyloRen
不需要转换器,因此Binding部分相对较小:''FontFamily = {{Binding MyFont,Source = {x:Static p:Settings.Default}}“'',假设有''' ''Settings.Default''中名为'MyFont'的字符串''。另外,我使用''p''而不是''''来使它更小。 – Ron
@Ron谢谢。我现在将在可应用的设置上使用它。 –