[c#] 如何使用WPF將文本包裝到標籤中?



3 Answers

通常,您無法使用TextBlock替換Label ,因為您希望使用Target屬性(在使用鍵盤時將焦點設置為目標控件,例如下面的示例代碼中的ALT + C),因為這是Label實際上提供的TextBlock

但是, Label使用TextBlock來呈現文本(如果字符串放置在Content屬性中,通常是這樣); 因此,您可以為Label內的TextBlock添加樣式,如下所示:

<Label              
    Content="_Content Text:"
    Target="{Binding ElementName=MyTargetControl}">
    <Label.Resources>
        <Style TargetType="TextBlock">
            <Setter Property="TextWrapping" Value="Wrap" />
        </Style>
    </Label.Resources>
 </Label>
 <CheckBox x:Name = "MyTargetControl" />

這樣你就可以保持Label的功能,同時也可以包裝文本。

Question

我有一個TextBox和一個標籤。 點擊一個按鈕後,我執行下面的代碼:

 label1.Content = textbox1.Text; 

我的問題是,如何啟用標籤的文字包裝? 在一行中可能會顯示太多的文本,並且如果是這種情況,我希望它自動換行到多行。




嘗試使用這個

lblresult.Content = lblresult.Content + "prime are :" + j + "\n";



您可以在標籤中放置一個TextBlock:

<Label> 
  <TextBlock Text="Long Text . . . ." TextWrapping="Wrap" /> 
</Label> 



我會建議使用TextBlock ,而不是使用Label類。 這使您可以適當地設置TextWrapping

你總是可以這樣做:

 label1.Content = new TextBlock() { Text = textBox1.Text, TextWrapping = TextWrapping.Wrap };

但是,如果所有此“標籤”用於顯示文本,請改為使用TextBlock




Related