是否可以在WPF自定义控件的控件模板中指定工具提示文本(包含非拉丁字符)?

是否可以在WPF自定义控件的控件模板中指定工具提示文本(包含非拉丁字符)?,wpf,xaml,encoding,custom-controls,tooltip,Wpf,Xaml,Encoding,Custom Controls,Tooltip,在WPF应用程序中,我有一个自定义控件。我希望从该自定义控件派生的对象的工具提示取决于该自定义控件的一个属性的值 是否可以在此自定义控件的控件模板中声明它 比如: <ControlTemplate> ??? // <!--XAML ToolTip declaration --> ... <ControlTemplate.Triggers> <Trigger Property="MyProperty" Valu

在WPF应用程序中,我有一个自定义控件。我希望从该自定义控件派生的对象的工具提示取决于该自定义控件的一个属性的值

是否可以在此自定义控件的控件模板中声明它

比如:

<ControlTemplate>
??? // <!--XAML ToolTip declaration -->
...
<ControlTemplate.Triggers>                    
   <Trigger Property="MyProperty" Value="FirstValue">
     <Setter ...???  />  // <!--XAML ToolTip text assignment -->
   </Trigger>
   ... 
   <Trigger Property="MyProperty" Value="SecondValue">
     <Setter ...???  />  // <!--XAML ToolTip text assignment -->
   </Trigger>  
</ControlTemplate.Triggers>
</ControlTemplate> 

??? // 
...
// 
... 
// 
编辑(添加):

我找到了解决办法:

   <MultiTrigger>
     <MultiTrigger.Conditions>
       <Condition Property="IsMouseOver" Value="True" />
       <Condition Property="MyProperty" Value="FirstValue" />
     </MultiTrigger.Conditions>
     <Setter TargetName="PART_Backgr" Property="ToolTip" Value="Available"/>
   </MultiTrigger>

   <MultiTrigger>
     <MultiTrigger.Conditions>
       <Condition Property="IsMouseOver" Value="True" />
       <Condition Property="MyProperty" Value="SecondValue" />
     </MultiTrigger.Conditions>
     <Setter TargetName="PART_Backgr" Property="ToolTip" Value="Sold"/>
   </MultiTrigger> 

它工作得很好。 但有一个问题仍然存在:事实上,
Value=“Available”
和其他类似的值应该包含非拉丁字符(应用程序本地化为俄语)。当我试图用
Value=“ССббббб”
编译它时,我得到一个错误: '给定编码中的字符无效。'XML无效。

这个问题有什么解决办法?也许我可以在某个地方更改Generic.xaml页面编译时使用的编码?或者以某种方式更改XAML代码? (事实上,在每个窗口中,我在XAML中都有很多非拉丁字符,所有的东西都可以编译。但是,可能问题在于它们的使用方式。)

这不起作用吗

<ControlTemplate.Triggers>                    
    <Trigger Property="MyProperty" Value="FirstValue">
        <Setter Property="ToolTip" Value="..."/>
    </Trigger>
</ControlTempalte.Triggers>

为了解决您的另一个问题,以下内容适用于我,无需任何特殊更改:

<TextBlock Text="Свободно" ToolTip="Свободно"/>


我将您的问题中的文本复制并粘贴到我的XAML代码中。

Aviad,谢谢!事实上,你把你的帖子放在我打字的时候——它们几乎是相似的。请看一看我的新问题(更新的问题)-也许你也可以帮我解决。你的建议是可以的+1是的,它也适用于我。但仅以您建议的确切方式和通用wpf窗口的xaml中的方式。如果我试图在ControlTemplate xaml(Generic.xaml窗口)的Setter标记中使用Property=“ToolTip”Value=“ССбббббббб”方法,我会得到提到的错误。也许有一种方法可以在ControlTemplate xaml中使用ToolTip=“Сбббббб1073?(我不知道这是怎么可能的)在一个样式中,在一个控件模板中,在一个自定义控件中,在任何地方都适用于我。有一件事是这样的,当我将它放入自定义控件的Generic.xaml中时,visual studio警告我它包含Unicode,并问我是否要将其另存为Unicode,当我回答“是”时,一切都正常了。请参阅我的更新答案,使用Thank Aviad时我没有收到任何错误!请在你的帖子上看到我的新评论