gpt4 book ai didi

wpf - CheckBox 在工具栏中或作为控件的行为差异

转载 作者:行者123 更新时间:2023-12-04 22:48:42 29 4
gpt4 key购买 nike

我可以得到一个 CheckBox 控件的 isChecked属性到 bool当我将它作为控件放置在用户控件或窗口上时。但是,如果我将它放在工具栏中,它甚至不可见,除了可能是薄的左边缘或右边缘(但绑定(bind)仍然有效)。如果我放入一个 ContextMenu,它会显示为选中或未选中,但绑定(bind)目标不受影响。

这是 Window.Resources 中的 ContextMenu 定义:

<ContextMenu x:Key="ContentMenu" DataContext="{Binding MyView}">
<CheckBox IsChecked="{Binding Path=IsRed}"/>
</ContextMenu>

这是包含 CheckBox 和带有 CheckBox 的 ToolBar 的 StackPanel:
<StackPanel Height="20" Orientation="Horizontal" DockPanel.Dock="Top" DataContext="{Binding MyView}">
<CheckBox IsChecked="{Binding Path=IsRed}"/>

<ToolBar Margin="10,0,0,0">
<CheckBox Width="18" Height="18" IsChecked="{Binding Path=IsRed}"/>
</ToolBar>
</StackPanel>

我只想问

1)如果有人可以建议工具栏问题的解决方案(也许是不同的模板?),

2) 定义 DataContext的正确方法的上下文菜单(这似乎是实际的问题)。

最佳答案

我明白你的意思,复选框现在看起来像一个切换按钮。如果您查看工具栏的控件模板,您会看到它调整了某些类型的子控件的控件模板。

如果你愿意的话,有一个技巧或错误,如果你把 Checkbox 放在一些布局容器中,如 Stackpanel、Grid 等,那么它的 controltemplate 不会被调整:

<ToolBar>
<Grid><CheckBox IsChecked="True" VerticalAlignment="Center">Test</CheckBox></Grid>
</ToolBar>

关于wpf - CheckBox 在工具栏中或作为控件的行为差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13625634/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com