2016-04-07 67 views
1

我在WPF中創建了一個切換按鈕。每個狀態都由一個圖像表示。 它看起來像這樣:如何根據togglebutton的狀態放置工具提示,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> 

一切工作正常。 但我想爲我的togglebutton的每個狀態創建一個工具提示。 一個「活躍,blabla」。 而另一個「Inactive blabla」。 我的軟件必須進行本地化,因此工具提示的文本基於資源(en,fr,de等)。

從我所看到的,我敢肯定這是一個簡單的關鍵字或東西...但我不知道是什麼關鍵字,並在那裏我有把它...

非常感謝。 再見。

回答

0

ü SE Style類似:

<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> 

物業:使用CLR property擺脫資源值文件

private static string tooltip1; 

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

    } 
+0

非常感謝,它完美的工作:)。 – Ahonir

+0

@Ahonir你的歡迎:) –

1

你可以簡單的設置工具提示屬性

  <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>