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