Visual Studio/WPF > Label > 액세스 키를 설정하여 대상 컨트롤에 포커스 이동 | 밑줄 문자 표시는 Label 대신 TextBlock 사용

운영 환경
Windows 7 Pro (32bit)
Microsoft Visual Studio 2017 Community
Sublime Text 2

@ WPF 4.5 입문 by 오타 카즈키
No.4818/9985

Label 컨트롤은, 「_알파벳」으로 액세스 키를 제공해, Target properties 로 설정한 컨트롤에 포커스를 울리는 기능이 있습니다.

시도해 보았다.

XAML
<Window x:Class="_170426_t1150_label.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:_170426_t1150_label"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <StackPanel>
            <Label Content="_NextGenration" Target="{Binding ElementName=T_1}"/>
            <TextBox x:Name="T_1"/>
            <Label Content="V_oyager" Target="{Binding ElementName=T_2}"/>
            <TextBox x:Name="T_2"/>
        </StackPanel>

    </Grid>
</Window>

MainWindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace _170426_t1150_label
{
    /// <summary>
    /// MainWindow.xaml の相互作用ロジック
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }
}

Alt 키를 누른 상태.



Label의 밑줄 문자


Next_Generation 와 같은 문자를 Label에 표시하려고 하면, 액세스 키라고 판단되어 버린다.

복수의 밑줄("_")을 넣었을 경우, 최초의 밑줄이 액세스 키가 되어 버린다.

밑줄이 그어진 문자열을 표시하려면 Label이 아닌 TextBlock을 사용한다는 것이 현재의 이해.


You can not use a Label with underline. Use a TextBlock instead.

장식의 밑줄과 문자열 중의 밑줄이 모두 underline과 같은 표기인 것은 검색성이 나쁘다.
\underline{NextGeneration}
Next\_Generation

좋은 웹페이지 즐겨찾기