我有一个包含单个UserControl
的极简主义TextBlock
,我将其原型制作如下:
<Grid>
<TextBlock x:Name="textBlockExt" x:FieldModifier="public"/>
</Grid>
public partial class TextBlockExt : UserControl
{
public TextBlockExt()
{
InitializeComponent();
DataContext = this;
}
public string Text
{
get => textBlockExt.Text;
set { textBlockExt.Text = value.ToUpper(); } // to be expanded later
}
}
然后我通过]消耗控件>
<Grid> <StackPanel> <local:TextBlockExt FontSize="30" x:Name="txb" Text="Hello World" TextBlock.TextAlignment="Center"/> <Button Content="To Upper" Width="100" Click="Button_Click"/> </StackPanel> </Grid>
其背后的代码是
public MainWindow() { InitializeComponent(); txb.textBlockExt.TextWrapping = TextWrapping.WrapWithOverflow; } private void Button_Click(object sender, RoutedEventArgs e) { txb.Text = "one two three four five six seven eight"; }
我不喜欢上面
MainWindow
构造函数中的代码,并且需要知道如何在XAML中设置TextWrapping
。
我有一个包含单个TextBlock的简约UserControl,我将其原型制作如下:
将属性TextWrapping添加到TextBlockExt类。使用与Text属性相同的方法: