我只是想从UI窗口中复制标签内容。任何人都可以帮助如何做到这一点?如何使WPF标签可选?
0
A
回答
2
我和你有同样的问题。 我希望我的标签可以选择。
我没有找到一个合适的方法来做到这一点,而是使用了一个自定义样式的TextBox。
<Style x:Key="TextBoxAsLabel" TargetType="{x:Type TextBox}">
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="AllowDrop" Value="False"/>
<Setter Property="FontFamily" Value="Arial"/>
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="FontSize" Value="11"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<themes:ClassicBorderDecorator x:Name="Bd" BorderThickness="0" BorderStyle="Sunken" Background="{TemplateBinding Background}">
<ScrollViewer x:Name="PART_ContentHost" BorderBrush="Transparent" BorderThickness="0"/>
</themes:ClassicBorderDecorator>
<ControlTemplate.Triggers>
<Trigger Property="IsReadOnly" Value="true">
<Setter Property="Background" TargetName="Bd" Value="Transparent"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="BorderThickness" Value="0,0,0,0"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
你还需要添加到您的命名空间:
xmlns:themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic"
用法为:<TextBox Text="{Binding ValueToBind}" IsReadOnly="True" Style="{DynamicResource TextBoxAsLabel}" />
注:根据需要改变你的风格绑定类型。
希望这会帮助你:)
1
你不应该重写整个模板。试试这个:
<TextBox Text="Copy this...">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="IsReadOnly" Value="True" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
</TextBox.Style>
</TextBox>
上面的样式应该给你一个选择TextBox
,看起来像一个TextBlock
或Label
。
相关问题
- 1. 如何使Javafx标签可选
- 2. 如何使选择标签可选的第一选项?
- 3. WPF PasswordBox标签可见性
- 4. 如何知道标签交换标准WPF选项卡控件
- 5. 在WPF标签
- 6. WPF标签DataTemplate
- 7. 使WPF ListBoxItems可选
- 8. 如何使选择标签在输入按钮标签之前?
- 9. WPF复选框标签作为按钮
- 10. WPF:选中标签到文本框
- 11. Rails 4 - 可以在选择标签内使用ruby标签吗?
- 12. WPF - 如何跳过标签导航中的标签?
- 13. Wpf如何用标签填充网格?
- 14. Rails_admin删除可选标签
- 15. C#WPF标签可见性异常
- 16. nokogiri可以使用可选标签处理css选择器吗?
- 17. 如何使用Jquery选择器选择标签throuth另一个标签?
- 18. 如何使标签
- 19. WPF标签设计
- 20. 如何使用WPF将文本包装到标签中?
- 21. 如何在选择另一个选择标签时更改选择标签?
- 22. 选择标签/选项标签麻烦
- 23. 如何使WPF Adorner可见
- 24. 如何使用jQuery获取选择选项的标签?
- 25. 点击标签以选择WPF中的单选按钮与MVVM
- 26. 如何使用jQuery选择生成的标题标签?
- 27. Jinja2块标签可以使用可选参数吗?
- 28. 是否可以使用LinQ评估可选标签的存在?
- 29. 如何对齐复选框和标签标签?
- 30. 如何在所选标签之外插入HTML标签?
我想你应该从你的标签中删除jqeury-ui-selectable。 – pix