我不知道它是否可能,但我一直在搜索互联网,找不到任何东西,甚至远程到我想要的。我做了类似的事情textbox变成textblock时,不集中,以使用TextTrimming=“省略号”属性对文本框不可用。在数据网格上有一个类似的操作。DataGrid有DataGridTemplateColumn,它可以访问CellTemplate和CellEditingTemplate所以对于一个datagrid,我可以有一个在编辑时更改为combobox的textblock。问题是我不想要一个DataGrid,我无法使用用于textbox的相同方法,因为IG textblock无法访问我在textbox的样式数据触发器中使用的属性“Control.Template”。
下面是我使用的文本框样式的示例代码:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsKeyboardFocused, RelativeSource={RelativeSource Self}}" Value="false"/>
<Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="true"/>
</MultiDataTrigger.Conditions>
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<TextBlock Text="{TemplateBinding Text}" TextTrimming="CharacterEllipsis"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</MultiDataTrigger>
字符串
我尝试了各种各样的方法,只是为了让它能用不同的属性来工作,但是我对触发器如何工作的知识有限,所以它更多的是猜测和检查不同的东西,没有结果,所以我决定来这里寻求一些帮助。
我需要使用textblock,因为texttrimming属性再次,但在这个速度,我使它成为一个文本框,并给予它一个风格,变成组合框时,重点和一个textblock时,如果可能的话,但似乎愚蠢。
1条答案
按热度按时间bbuxkriu1#
最后我把TextBlock改成了ComboBox,并做了我想做的事情,但在没有聚焦的时候把ComboBox改成了TextBlock。我这样做是因为我不相信TextBlock有“Control.Template”属性,但即使它有,我也有其他关于TextBlock的聚焦问题,所以这种方式效果更好。
字符串
希望这能帮助其他任何试图实现类似的人!