我创建了一个继承自Window
的类,并获得了一个名为TitlebarContent的DependencyProperty
。
public FrameworkElement TitleBarContent
{
get { return (FrameworkElement)GetValue(TitleBarContentProperty); }
set { SetValue(TitleBarContentProperty, value); }
}
// Using a DependencyProperty as the backing store for TitleBarContent. This enables animation, styling, binding, etc...
public static readonly DependencyProperty TitleBarContentProperty =
DependencyProperty.Register("TitleBarContent", typeof(FrameworkElement), typeof(tkWindowControl), new PropertyMetadata(default(FrameworkElement)));
在样式的ResourceDictionary
内,我为此属性添加了ContentControl
。
现在,我想在另一个应用程序中使用新的“ WindowObject”并访问新的TitlebarContentProperty
。我可以在标题栏中看到这些项目,并且可以移动Window
,调整其大小等等。但是我不能绑定这些项目。例如,我想在标题栏中添加一个“帮助”按钮。显示了Button
,但我无法单击它。
<tk:tkWindowControl.TitleBarContent>
<DockPanel Grid.Row="0" FlowDirection="LeftToRight">
<Button Content="Exit" Command="{Binding ExitApplicationCommand}" Height="60" Width="60" Background="Red"/>
</DockPanel>
</tk:tkWindowControl.TitleBarContent>
我的DependencyProperty
是typeof(FrameWorkElement)
,因为我想在标题栏中添加几个Buttons
。
是否可以通过这种方式使用我的绑定?
答案 0 :(得分:1)
将WindowChrome.IsHitTestVisibleInChrome
或父元素的Button
附加属性设置为true
:
<Button Content="Exit" WindowChrome.IsHitTestVisibleInChrome="True" ... />
或者,您应该减小CaptionHeight
的{{1}}属性的值。