我想在TextBox (而不是TextBlock)上应用TextTrimming选项。
编译器告诉我,TextTrimming选项不是Textbox的有效属性。
我可以做一个花哨的控制,它是一个Textblock,一旦它被点击就会变成一个Textbox,反过来,一旦焦点丢失了,就回到Textblock。
在这样做之前,我想知道一个内置函数是否已经存在(或者有一种更聪明的方法)允许您这样做?
编辑:我最后想要的是一个TextBox,它是trim (完整的内容将显示在工具提示中),但是当用户选择TextBox (进入“编辑模式”)时,完整的内容将被显示(没有剪裁),因此用户将能够修改全文。当TextBox失去焦点(返回到“查看模式”)时,内容将再次修剪。
谢谢
发布于 2012-04-19 12:47:17
试试这样的风格(我增加了背景颜色,以使变化变得明显):
<Style TargetType="TextBox">
<Setter Property="Background" Value="Yellow" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsKeyboardFocused, RelativeSource={RelativeSource Self}}" Value="false">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<TextBlock Text="{TemplateBinding Text}" TextTrimming="CharacterEllipsis" Background="Red" />
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>发布于 2016-01-06 16:33:22
丹·普西有一个很好的答案,但是我想添加更多,这样TextBlock的样式就像一个TextBox。
下面是我提出的XAML样式:
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding IsKeyboardFocused, RelativeSource={RelativeSource Self}}" Value="False">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Border BorderThickness="1" CornerRadius="1">
<Border.BorderBrush>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFABADB3" Offset="0"/>
<GradientStop Color="#FFABADB3" Offset="0.044"/>
<GradientStop Color="#FFE2E3EA" Offset="0.060"/>
<GradientStop Color="#FFE3E9EF" Offset="1"/>
</LinearGradientBrush>
</Border.BorderBrush>
<TextBlock Padding="4,2,0,0" Text="{TemplateBinding Text}" TextTrimming="CharacterEllipsis"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>当控件没有键盘焦点时,如下所示:

这就是获得键盘焦点后控件的样子:

发布于 2012-04-19 11:51:35
我想你要找的是这个
<TextBox Text="{Binding Path=String, Converter={StaticResource StringConverter}, ConverterParameter=Trim:Argument:AnotherArgument}" /> 我希望它有帮助:)
如果需要,它将调用trim函数并传递任何参数。还可以使用拆分,并将分隔符作为参数传递。
您可以在Binding.Converter 这里上找到更多信息。
https://stackoverflow.com/questions/10227014
复制相似问题