0
は次のとおりです。セットBOLDに「FontWeightProperty」
<ToggleButton x:Name="TbtnBold" HorizontalAlignment="Right" Height="24" Margin="0,84,318,0" VerticalAlignment="Top" Width="24" Click="ToggleButton_Click">
<Image RenderOptions.BitmapScalingMode="Fant" Source="Pics/Icons/bold.png" Width="15" Height="15"/>
</ToggleButton>
と私は "のためにVSにこのコードを書きましたToggleButton_Click」イベント:
if (TbtnBold.IsChecked == true)
{
if (richTxtBoxQ.Selection.GetPropertyValue(Run.FontWeightProperty) is FontWeight && ((FontWeight)richTxtBoxQ.Selection.GetPropertyValue(Run.FontWeightProperty)) == FontWeights.Normal)
richTxtBoxQ.Selection.ApplyPropertyValue(Run.FontWeightProperty, FontWeights.Bold);
else
richTxtBoxQ.Selection.ApplyPropertyValue(Run.FontWeightProperty, FontWeights.Normal);
if (TbtnBold.IsChecked == false)
{
if (richTxtBoxQ.Selection.GetPropertyValue(Run.FontWeightProperty) is FontWeight && ((FontWeight)richTxtBoxQ.Selection.GetPropertyValue(Run.FontWeightProperty)) == FontWeights.Bold)
richTxtBoxQ.Selection.ApplyPropertyValue(Run.FontWeightProperty, FontWeights.Normal);
else
richTxtBoxQ.Selection.ApplyPropertyValue(Run.FontWeightProperty, FontWeights.Bold);
}
と、このユーザーがクリックしたテキストのフォントの太さが何であるかに応じて、リッチテキストボックスのどこかにトグルボタンの変更をクリックしたときのためには、次のとおりです。
private void richTxtBoxQ_SelectionChanged(object sender, RoutedEventArgs e)
{
if (richTxtBoxQ.Selection.GetPropertyValue(Run.FontWeightProperty) is FontWeight && ((FontWeight)richTxtBoxQ.Selection.GetPropertyValue(Run.FontWeightProperty)) == FontWeights.Normal)
{
TbtnBold.IsChecked = false;
}
else
{
TbtnBold.IsChecked = true;
}
}
すべてのことがうまく動作する太字の選択テキストと行の最後に挿入ポイントがありますが、テキストの途中にカッターの位置を変更して挿入ボタンを変更すると、すべてのテキストが太字になります。 長い時間を検索しましたが、答えがないと、他のテキストを変更せずに挿入ポイントのフォント太さを太字にすることができます。
答えていただきありがとうございます。何百回もデバッグしていますが、テキストをクリックしてボタンをクリックすると、コードが実行されます(トップクリックのイベントコードは何もありません)、すべてのテキストは太字になります –
上記のチェックはうまくいきますか? – Muds
はい私はそれを使用し、選択は空です... –