如果我在UserControl
中托管的Window
看起来像:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<Grid>
<ContentPresenter Content="{Binding}" />
</Grid>
</Window>
如何设置Window.Title
中的UserControl
?
另一个要求是UserControl
可以从静态resx文件中提取和设置窗口标题,例如{x:Static p:Resources.MyViewTitle}
修改
在做了一些研究后,我认为附属物可能就是答案。我如何实施Window.Title
属性,我可以将其放置在任何孩子UserControl
上,允许我设置Window
标题?
答案 0 :(得分:2)
(未经测试):使用VisualTreeHelper.GetParent向上遍历可视树,直到您到达Window
类型的对象。然后将标题设置为Resources.ResxFileName.MyViewTitle
(由于自动生成的资源类,应该在代码中可用)。
答案 1 :(得分:2)
答案是创建附加属性。请参阅:Creating a Window.Title Attached Property
答案 2 :(得分:0)
您可以为父窗口订阅的UserControl创建一个事件。