所以我有一個 RichTextbox,我在其中撰寫文本,我想用 ComboBox 中的 Selected FontSize 增加該文本。到目前為止,我得到了這個:
視圖模型:
public class ViewModel : INotifyPropertyChanged
{
public ObservableCollection<int> FontSizes { get; set; }
private int _selectedFont;
public int SelectedFont
{
get { return _selectedFont; }
set
{
_selectedFont = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SelectedFont)));
}
}
public ViewModel()
{
FontSizes = new ObservableCollection<int>() { 10, 15, 20 };
}
public event PropertyChangedEventHandler PropertyChanged = delegate { };
}
主視窗:
<ToolBar Background="#0E8F88" Style="{DynamicResource ToolBarStyle}"
Grid.Column="0" Grid.Row="2" HorizontalAlignment="Right">
<ComboBox x:Name="fontsCombo" ItemsSource="{Binding FontSizes}"
SelectedItem="{Binding SelectedFont, UpdateSourceTrigger=PropertyChanged}" >
</ComboBox>
</ToolBar>
<RichTextBox Tag="überschrift" FontSize="{Binding SelectedFont, UpdateSourceTrigger=PropertyChanged}" x:Name="tb_1" FontWeight="{Binding bold1}"
FontStyle="{Binding italicCode2}" AcceptsTab="True"
Grid.Row="1" Visibility="{Binding disableGray, UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Center" Margin="10 0 10 0" LostFocus="tb_1_LostFocus">
</RichTextBox>
它增加了文本,但他確實增加了所有的文本,但我只希望標記的文本變大:

somoene 一個想法?
對不起我的英語我的英語語法不好
uj5u.com熱心網友回復:
將字體大小/系列應用于 RichTextBox 中的選定文本并不直接適用于使用 MVVM。您應創建一個繼承自 RichTextBox 的自定義控制元件。您可以使用此 SO Question的答案,然后在更改字體大小(而不是 OnTextInput 事件)時,從所選文本創建一個 Run 并更新其 FontSize。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/494738.html
