2016-04-07 28 views
1

WPF'de bir geçiş düğmesi oluşturdum. Her durum bir görüntü ile temsil edilir.togglebutton durumuna bağlı olarak araç ipuçlarını nasıl eklenir WPF

<ToggleButton Click="ButtonEnable_Click" x:Name="ButtonEnable" Width="36" Height="36" ToolTipService.ShowOnDisabled="true" > 
    <ToggleButton.Resources> 
     <BitmapImage x:Key="imgNormal" UriSource="/Project;component/Resources/images/Image-active.png"/> 
     <BitmapImage x:Key="imgChecked" UriSource="/Project;component/Resources/images/Image-inactive.png"/> 
    </ToggleButton.Resources> 
    <ToggleButton.Style> 
     <Style TargetType="ToggleButton"> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="ToggleButton"> 
         <Image x:Name="PART_Image" Source="{StaticResource imgNormal}"/> 
         <ControlTemplate.Triggers> 
          <Trigger Property="IsChecked" Value="true"> 
           <Setter TargetName="PART_Image" Property="Source" Value="{StaticResource imgChecked}"/> 
          </Trigger> 
          <Trigger Property="IsEnabled" Value="false"> 
           <Setter TargetName="PART_Image" Property="Source" Value="{StaticResource imgNormal}"/> 
          </Trigger> 
         </ControlTemplate.Triggers> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </ToggleButton.Style> 
</ToggleButton> 

Ve her şey iyi çalışır: Öyle görünüyor. Ancak, geçiş düğmelerinin her durumu için bir araç ipucu oluşturmak istiyorum. Bir "Aktif, blabla". Ve diğer "İnaktif blabla". Ve yazılımımın yerelleştirilmesi gerekiyor, bu yüzden araç ipucu metni bir ressource (en, fr, de, vb.) Üzerine kurulu. Gördüğüm kadarıyla

, ben basit bir anahtar sözcük ya da bir şey eminim ... Ama neyi anahtar kelime bilmiyorum ve ben ...

Çok teşekkürler koymak zorunda nerede. Hoşçakal.

cevap

0

U se gibi Style şey:

<Trigger Property="IsChecked" Value="True"> 
      <Setter Property="ToolTip" Value="{x:Static local:MainWindow.Tooltip1}"/> 
</Trigger> 
<Trigger Property="IsChecked" Value="False"> 
      <Setter Property="ToolTip" Value="{x:Static local:MainWindow.Tooltip2}"/> 
</Trigger> 

Mülkiyet: Kullanım CLR property almak için Kaynağından değerler dosyası

private static string tooltip1; 

    public static string Tooltip1 
    { 
     get 
     { 
      if (tooltip1 == null) 
      { 
       tooltip1 = "";//get this value form Resources 
      } 
      return tooltip1; 
     } 

    } 
+0

Çok teşekkürler, mükemmel çalıştı :). – Ahonir

+0

@ Hoş geldiniz :) –

1

Sadece Tooltip özelliğini

  <ToggleButton.Style> 
       <Style TargetType="ToggleButton"> 
        <Style.Triggers> 
         <Trigger Property="IsChecked" Value="True"> 
          <Setter Property="ToolTip" Value="Active"></Setter> 
         </Trigger> 
        </Style.Triggers> 
        <Setter Property="ToolTip" Value=""></Setter> 
       </Style> 
      </ToggleButton.Style> 
ayarlayabilirsiniz
İlgili konular