gpt4 book ai didi

wpf - ContentControl 在 GotFocus 上更改 ContentTemplate

转载 作者:行者123 更新时间:2023-12-04 06:01:43 29 4
gpt4 key购买 nike

我有一个包含 ContentControl 的 UserControl .当用户点击这个 ContentControl我要换它ContentTemplate , 使其“可编辑”(例如,而不是标签显示文本框)。
我有的是这个:

<StackPanel>
<ContentControl Style="{DynamicResource ContainerStyleEditable}" GotFocus="ContentControl_GotFocus"></ContentControl>
</StackPanel>

在 userControl 资源中我有
<Style TargetType="{x:Type ContentControl}" x:Key="ContainerStyleEditable">
<Setter Property="ContentTemplate" Value="{DynamicResource ItemTemplateReadOnly}" />
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="ContentTemplate" Value="{DynamicResource ItemTemplateEditable}" />
</Trigger>
</Style.Triggers>
</Style>

这个不行,好像是 GotFocus事件永远不会触发。有什么方法可以做到这一点?

最佳答案

我通常基于我的触发器 IsKeyboardFocusWithin而不是 IsFocused因为通常聚焦的元素通常不是实际的 ContentControl ,而是其中的一个控件 Content .

另外,请确保 ContentControl 中至少有一个控件。可以接受焦点,以便控件可以获得焦点。如果控件内部没有任何内容可以接受焦点,则触发器将永远不会触发。

关于wpf - ContentControl 在 GotFocus 上更改 ContentTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8832217/

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