| 

.NET C# Java Javascript Exception

2
Hallo zusammen,

ich habe eine ListView dessen View ein GridView mit 4 Columns ist. Für das CellTemplate habe ich je Column ein DataTemplate erstellt. Das ganze sieht dann so aus:

<ListView Name="AccessoryResultListView" Canvas.Top="46" Canvas.Left="330" 
Width="720" Height="558"
MouseDoubleClick="OnDoubleClicked" SelectionChanged="OnSelectionChanged"
VerticalContentAlignment="Stretch">
<ListView.View>
<GridView>
<GridViewColumn CellTemplate="{StaticResource AccessoryPictureCell}" />
<GridViewColumn CellTemplate="{StaticResource AccessoryMeasuredCell}" />
<GridViewColumn CellTemplate="{StaticResource AccessoryNumberCell}" />
<GridViewColumn CellTemplate="{StaticResource AccessoryNameCell}" />
</GridView>
</ListView.View>
</ListView>


So sieht dann z.B das CellTemplate "AccessoryPictureCell" aus:

<DataTemplate x:Key="AccessoryPictureCell">
<Image Source="{Binding Path=Picture}" Width="41.6" Height="41.6" Stretch="Fill" />
</DataTemplate>


Das funktioniert auch soweit. Problem ist jetzt, dass ich dem Bild ein ToolTip mitgeben möchte. Wenn ich da hardcoded ein ToolTip hinzufüge, funktioniert es:

<DataTemplate x:Key="AccessoryPictureCell">
<Image Source="{Binding Path=Picture}" Width="41.6" Height="41.6" Stretch="Fill">
<Image.ToolTip>
<Image Source="F:\DummyImage.png" />
</Image.ToolTip>
</Image>
</DataTemplate>


Nun möchte ich aber, dass das Bild im ToolTip das selbe ist, wie das, was ich in dem Image habe. Also versuche ich es mit folgendem Code:

<DataTemplate x:Key="AccessoryPictureCell">
<Image Source="{Binding Path=Picture}" Width="41.6" Height="41.6" Stretch="Fill">
<Image.ToolTip>
<Image Source="{Binding Path=Picture}" />
</Image.ToolTip>
</Image>
</DataTemplate>


Das funktioniert allerdings nicht. In der Ausgabe bekomme ich folgende Meldungen:

System.Windows.Data Error: 40 : BindingExpression path error: 'ToolTip' property not
found on 'object' ''AccessoryDisplayItem' (HashCode=61335656)'.
BindingExpression:Path=ToolTip; DataItem='AccessoryDisplayItem' (HashCode=61335656);
target element is 'Border' (Name=''); target property is 'ToolTip' (type 'Object')


Jetzt frage ich mich, was geht da schief?

Ich hoffe auf schnelle Antwort. Wenn noch fragen offen sind, immer her damit :)

Danke & Gruß
Andy
News:
06.04.2011
cruX 803 1 1 9
1 Antwort
2
Probier mal drumherum ein Grid zu setzen, evtl. kann er nicht direkt ein DataBinding bei <Image.ToolTip> durchführen.

<DataTemplate x:Key="AccessoryPictureCell">
<Image Source="{Binding Path=Picture}" Width="41.6" Height="41.6" Stretch="Fill">
<Image.ToolTip>
<Grid>
<Image Source="{Binding Path=Picture}" />
</Grid>
</Image.ToolTip>
</Image>
</DataTemplate>


Sollte das nicht funktionieren, schau dir mal folgendes Beispiel an.
06.04.2011
Konstantin 3,7k 8
Geht nicht:
System.Windows.Data Error: 40 : BindingExpression path error: 'ToolTip' property not found on 'object' ''AccessoryDisplayItem' (HashCode=34854009)'. BindingExpression:Path=ToolTip; DataItem='AccessoryDisplayItem' (HashCode=34854009); target element is 'Border' (Name=''); target property is 'ToolTip' (type 'Object')
System.Windows.Data Error: 40 : BindingExpression path error: 'Picture' property not found on 'object' ''Image' (Name='')'. BindingExpression:Path=Picture; DataItem='Image' (Name=''); target element is 'Image' (Name=''); target property is 'Source' (type 'ImageSource')
cruX 06.04.2011
Oh, habe eben erst den Link bemerkt.
Der hat mir weitergeholfen. Vielen Dank

Gruß Andy
cruX 06.04.2011

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH