XAML 当控件被禁用时,我应该使用什么VisualState Name来设置WinUI 3.0中ToggleSplitButton的样式?

jum4pzuy  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(168)

我已经复制了SplitButton的样式,但它缺少任何名为“Disabled”或“CheckedDisabled”的VisualState。我手动添加了这些内容,但似乎在我的应用中没有任何效果。当我尝试添加名为“PrimaryDisabled”的VisualState时,我收到异常(Microsoft.UI.Xaml.Markup.XamlParseException)--我在禁用/选中禁用可视状态下没有得到。下面是我为“禁用”实现的VisualState示例

<VisualState x:Name="Disabled">
                                <VisualState.Setters>
                                    <Setter Target="PrimaryBackgroundGrid.BorderThickness" Value="0"/>
                                    <Setter Target="SecondaryBackgroundGrid.BorderThickness" Value="0"/>
                                    <Setter Target="PrimaryBackgroundGrid.Background" Value="{StaticResource ResourceKey=AdbsButtonDisabledColor}" />
                                    <Setter Target="SecondaryBackgroundGrid.Background" Value="{StaticResource ResourceKey=AdbsButtonDisabledColor}" />

                                </VisualState.Setters>
                            </VisualState>

相同的VisualState与我的ToggleButton自定义样式一起按预期工作。两者各自的IsEnabled属性具有相同的绑定。两者同时被禁用(两者都不可单击),只有ToggleSplitButton显示的颜色不同,尽管其样式中具有相同的VisualState属性。
Windows用户界面3.0(微软 windows 应用软件开发工具包1.1.3)
我将感谢任何人对这个问题的建议/解决方案。

bnlyeluc

bnlyeluc1#

ToggleSplitButton使用SplitButtonStyle,而且它确实具有Disabled的视觉状态。请从此链接复制样式并进行变更。
SplitButtonStyle

相关问题