视觉上,以下两个片段都生成相同的UI.那么为什么有2个控件..
Snippet1
<TextBlock>Name:</TextBlock>
<TextBox Name="nameTextBox" />
Run Code Online (Sandbox Code Playgroud)
Snippet2
<Label>Name:</Label>
<TextBox Name="nameTextBox" />
Run Code Online (Sandbox Code Playgroud)
(好吧,我自己会回答这个问题......认为这是我今天从编程WPF学到的一个有用的小问题)
Ala*_* Le 111
WPF Textblock继承自FrameworkElement,而不是像Label Control那样从System.Windows.Control派生.这意味着Textblock更轻量级.使用文本块的缺点是不支持Access/Accerelator Keys,并且没有指向其他控件的链接作为目标.
如果要单独显示文本,请使用TextBlock.好处是显示文本的轻松,高效的方式.
如果要将文本与TextBox等其他控件关联,请使用Label控件.好处是访问键和目标控件的引用.
Gis*_*shu 20
Label有一个重要的焦点处理责任.它的目的是允许您使用访问键放置标题.它有一个Target属性,用于指示访问密钥的目标.像这样...
<Label Target="{Binding ElementName=nameTextBox}">_Name:</Label>
<TextBox x:Name="nameTextBox" />
Run Code Online (Sandbox Code Playgroud)
在没有Target属性的情况下,Label控件没有任何用处.如果您按下指示"无法处理请求"的访问键,您将听到一声蜂鸣声
归档时间: |
|
查看次数: |
59879 次 |
最近记录: |