我们有一个WPF窗口应用程序,其中包含一个堆栈面板控件,我希望仅在测试时才可见,但在生产时不可见。如何在app.config中将WPF控件值存储为属性设置?
我们希望将该堆叠面板的可见性值存储在应用程序配置文件(app.config)中。
什么是WPF的实现方式?
我们有一个WPF窗口应用程序,其中包含一个堆栈面板控件,我希望仅在测试时才可见,但在生产时不可见。如何在app.config中将WPF控件值存储为属性设置?
我们希望将该堆叠面板的可见性值存储在应用程序配置文件(app.config)中。
什么是WPF的实现方式?
首先,您通过转到项目属性/设置并创建应用程序范围bool ShowMyStackPanel
,在Visual Studio中创建属性。在Properties
命名空间这将自动(1)创建Settings
类和(2)以下内容添加到您的app.config:
<configuration>
...
<applicationSettings>
<CsWpfApplication1.Properties.Settings>
<setting name="ShowMyStackPanel" serializeAs="String">
<value>False</value>
</setting>
</CsWpfApplication1.Properties.Settings>
</applicationSettings>
</configuration>
在您的WPF窗口,你现在可以简单地使用BooleanToVisibilityConverter
绑定到Properties.Settings.Default.ShowMyStackPanel
:
<Window ...
xmlns:prop="clr-namespace:CsWpfApplication1.Properties"
...>
<Window.Resources>
<BooleanToVisibilityConverter x:Key="MyBoolToVisibilityConverter" />
</Window.Resources>
...
<StackPanel Visibility="{Binding Source={x:Static prop:Settings.Default},
Path=ShowMyStackPanel,
Converter={StaticResource MyBoolToVisibilityConverter}}">
...
</StackPanel>
...
</Window>
您可以使用following markup extension绑定到设置:
<StackPanel Visibility="{my:SettingBinding StackPanelVisibility}">
...
(假设该设置被保存为Visibility
值(可见/折叠/隐藏))
使用BooleanToVisibilityConverter键的小错字。 但这几乎是我所期待的。谢谢。 – 2010-05-14 03:01:42
谢谢,错字固定。 – Heinzi 2010-05-14 08:35:46