WPF - 将窗口标题绑定到其他项目公共设置

时间:2013-11-26 20:08:14

标签: c# .net wpf xaml data-binding

显然我喜欢让生活复杂化,但我觉得这是值得的。

我有一个包含多个WPF项目的解决方案(每个项目构建到自己的应用程序中:服务器,客户端等)。我想在一个地方进行一些设置(主要是标签,所以当我更改名称时,我不必在多个文件中找到它),所以我创建了项目“Common”,在它的Properties.settings中,以及那些一些职位(ServerName,ClientName)。

现在在Server.MainWindow中我想将Title属性设置为Common.Properties.Default.ServerName。当然在XAML中。遗憾的是我不知道如何去做。

我找到了某个地方:

<ObjectDataProvider x:Key="odpsettings" ObjectType="{x:Type l:Properties.Settings}"></ObjectDataProvider>

但无论我输入什么

nested properties are not supported

基本上它不起作用,我不知道从哪里开始...

1 个答案:

答案 0 :(得分:3)

问题是不允许执行类似{x:Static common:Properties.Default.ServerName}的操作,但只有{x:Static common:Properties.Default}才可以。

所以你需要做的就是将绑定源设置为{x:Static common:Properties.Default}并在绑定路径中指定所请求的密钥,从而避免整个不受支持的嵌套类型问题:

<Window Title="{Binding Source={x:Static common:Properties.Default}, Path=ServerName}">