不知道這裏做了什麼,但綁定適用於數據模板中的標籤,但不適用於工具提示。任何幫助將不勝感激。WPF綁定到工具提示
<DataTemplate DataType="Label">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<StackPanel.ToolTip>
<ToolTip DataContext="{Binding Path=PlacementTarget,
RelativeSource={x:Static RelativeSource.Self}}">
<TextBlock Text="{Binding Path=DataContext.Description}" />
</ToolTip>
</StackPanel.ToolTip>
<Image Source="{StaticResource ApplicationInfoS}"
Margin="0 0 5 0" Stretch="None"
HorizontalAlignment="Left" />
<Label Style="{StaticResource lblTextContent}"
Padding="5 0 0 0"
Content="{Binding Path=DataContext.Description, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}"/>
</StackPanel>
</DataTemplate>
順便說一句,在ListView中使用DataTemplate。 「說明」屬性存在於綁定到列表視圖的視圖模型上。
我在VS2010輸出窗口獲得的消息是:
System.Windows.Data錯誤:39:BindingExpression路徑錯誤:對「對象」「」字符串」未找到「說明」屬性(的HashCode = -466763399)」。 BindingExpression:路徑= DataContext.Description; DataItem ='StackPanel'(Name ='');目標元素是'TextBlock'(Name ='');目標屬性是 '文本'(類型 '字符串')
UPDATE
我已經放棄了現在。使用下面的技巧暫且:
到StackPanel中和綁定「描述」工具提示添加一個標籤給它
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Tag="{Binding Path=DataContext.Description, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}">
綁定到標籤。是的黑客,但它的工作。
乾杯
邁克
說明來自與此視圖關聯的ViewModel。 – ozczecho 2010-11-08 05:13:37
基於Viewmodel的數據素材?或其他一些類 – TerrorAustralis 2010-11-08 05:28:56