リボン コントロールのテキスト ボックスに問題があるようです。私は一般的な TextBox コントロールの動作を期待していました: 幅が固定され、テキストが幅を超えたときにキャレットが表示されます。しかし、RibbonTextBox コントロールはその幅を変更し、テキストが右側の制限を超えると、オーバーフローは表示されません。
ブログで次のようなハックを見つけました。
var img = SearchButton.Template.FindName("image", SearchButton);
if (img != null && img is Image)
(img as Image).Visibility = Visibility.Collapsed;
var lbl = FindTemplateControl<Label>(SearchText);
var border = SearchText.Template.FindName("Bd", SearchText);
if (border != null && border is Border && img != null && lbl != null)
{
(border as Border).Width = SearchText.ActualWidth - (((Image)img).ActualWidth + lbl.ActualWidth);
}
しかし、私は本当にそのような回避策を実行したくありません。シンプルな TextBox の動作を達成するための他の簡単な方法はありますか?