Im相当小白在WPF但即时通讯认真努力掌握它:对WPF标签到文本框
我一直试图建立在显示一个标签/文本块,但一旦用户将鼠标悬停/点击控制的控制,一显示文本框,以便可以编辑该值。
我一直在尝试将Visible属性绑定到代码隐藏中的布尔值,它使用MouseOver和MouseLeave以及Got/LostFocus的委托进行更新,但它没有奏效。此外,我尝试使用一个简单的样式,也将代码隐藏的布尔值的Visible属性绑定...也没有工作。最后,我也跟着什么WPF: Label to TextBox when selected建议,使用的ControlTemplate和触发,这样的:
<Style x:Key="TransformerBox" TargetType="{x:Type TextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
和:
<Canvas x:Name="CnvCantidad" Grid.Row="2" Grid.Column="1">
<TextBox HorizontalAlignment="Center" VerticalAlignment="Center" Canvas.Left="16" Canvas.Top="8" Width="16"
x:Name="TxtCantidad" Style="{StaticResource TransformerBox}" Height="23" Visibility="Visible"/>
<Label HorizontalAlignment="Center" VerticalAlignment="Center" Content="0" Canvas.Left="16" Canvas.Top="6"
x:Name="LblCantidad"/>
</Canvas>
但在所有的情况下,如前所述,文本框是不可见的,不管是什么:/
我该如何创建ControlTemplate,以便TextBox在用户悬停标签/文本块时可见?
没有工作,文本框是不可见的:( – Machinarius 2010-12-08 02:48:55
请问,如果你把这个在一个完全新的窗口(在网格内)工作的? – 2010-12-08 02:54:11
不,似乎并不工作,即使在网格 – Machinarius 2010-12-08 03:14:55