显然我喜欢让生活复杂化,但我觉得这是值得的。
我有一个包含多个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
基本上它不起作用,我不知道从哪里开始...
答案 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}">