XAML TextBox不放弃光标焦点- WinUI

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

我有下面的文本框,我想基本上设置为禁用,而不将样式更改为难以阅读的灰上灰外观,如果我使用IsEnabled=False,它会有。我似乎已经得到了它的工作与以下xaml:

<TextBox Text="{x:Bind Value, Mode=TwoWay}"
         IsHitTestVisible="{x:Bind IsEditable, Mode=OneWay}"
         IsFocusEngagementEnabled="{x:Bind IsEditable, Mode=OneWay}"
         IsTabStop="{x:Bind IsEditable, Mode=OneWay}"/>

当用户单击编辑按钮(将IsEditable设置为True)时,我临时启用对文本框的访问时,唯一的问题是,如果用户在单击文本框时退出编辑模式,文本框会保持光标焦点。当IsFocusEngagementEnabled返回为False时,文本框不应该失去焦点吗?
或者,有没有什么方法可以覆盖WinUI 3中禁用的文本框的样式?如果有这样的方法,可能会更好,因为我可以将IsEnabled绑定到我的变量,然后以编程方式在IsEnabledChanged EventHandler中切换样式。
谢谢你的帮助。

tvmytwxo

tvmytwxo1#

您可以像这样取代颜色。

<StackPanel>
    <StackPanel.Resources>
        <StaticResource
            x:Key="TextControlForegroundDisabled"
            ResourceKey="TextFillColorPrimaryBrush" />
    </StackPanel.Resources>
    <TextBox
        x:Name="TextBoxControl"
        Text="Default" />
</StackPanel>

相关问题