我在我的WPF窗口中有一些按钮,我想在按钮内容中的某些字符加下划线。我试过使用“_”(如“My_Content”)来为C下划线,但直到用户按Alt键或更改其本地设置时才会出现。在< Underline >Content属性中使用时,当我试图仅对部分内容加下划线时会导致错误,如:Content=“我< Underline >的内容< /Underline >”。如果可能的话,我更喜欢在XAML中设置它。如果你能帮忙的话,我会很感激的。谢谢!
hi3rlvi21#
你必须像这样显式地这样做:
<Button> <Button.Content> <TextBlock> My <Underline>C</Underline>ontent </TextBlock> </Button.Content> </Button>
字符串这将删除使用Alt+Char单击按钮的功能。为此,使用AccessText元素。但它不支持TextBlock的标记语法。
92dk7w1h2#
如果添加了绑定,则可以使用Alt+Char保留单击按钮的功能。在我的例子中,我使用Alt+X退出(关闭)当前窗口
public class RelayCommand : ICommand { private readonly Action _execute; public event EventHandler CanExecuteChanged; public RelayCommand(Action execute) { _execute = execute; } public bool CanExecute(object parameter) { return true; } public void Execute(object parameter) { _execute?.Invoke(); } } public partial class Window : Window { public ICommand ExitCommand { get; } public Window() { InitializeComponent(); ExitCommand = new RelayCommand(ExitApplication); CommandBindings.Add(new CommandBinding(ExitCommand, ExecuteExitCommand, CanExecuteExitCommand)); KeyGesture exitKeyGesture = new KeyGesture(Key.X, ModifierKeys.Alt); InputBindings.Add(new KeyBinding(ExitCommand, exitKeyGesture)); } private void ExecuteExitCommand(object sender, ExecutedRoutedEventArgs e) { ExitApplication(); } private void CanExecuteExitCommand(object sender, CanExecuteRoutedEventArgs e) { e.CanExecute = true; } private void ExitApplication() { Close(); } private void exitbutton_Click(object sender, RoutedEventArgs e) { ExitApplication(); } }
字符串确保您也使用System.Windows.Input进行初始化;
2条答案
按热度按时间hi3rlvi21#
你必须像这样显式地这样做:
字符串
这将删除使用Alt+Char单击按钮的功能。为此,使用AccessText元素。但它不支持TextBlock的标记语法。
92dk7w1h2#
如果添加了绑定,则可以使用Alt+Char保留单击按钮的功能。在我的例子中,我使用Alt+X退出(关闭)当前窗口
字符串
确保您也使用System.Windows.Input进行初始化;