Ich habe ein 'GameControl: FrameworkElement'. Ich habe es in der XAML wie folgt aus:Wie binden Sie TextBlock an eine selbst erstellte FrameworkElement-Eigenschaft?
<local:GameControl x:Name="control"/>
Diese GameControl eine Eigenschaft hat, die eine eigene Klasse:
public Gem selectedGem {get; set;}
Jetzt will ich dieses Juwel der Informationen in einen Textblock schreiben, so dass die Der Spieler wird seine Eigenschaften sehen.
Wie binde ich die Eigenschaften meines eigenen FrameworkElements an die Elemente von MainWindow?
-
Voll XAML:
<Window x:Class="GemTowerDefense.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:GemTowerDefense"
mc:Ignorable="d"
Title="Gem Tower Defense" Height="670" Width="800"
ResizeMode="NoResize">
<Grid>
<Border Background="Gray" Height="600" Width="600" Margin="3,26,189,3">
<local:GameControl x:Name="control"/>
</Border>
<Border Background="LightSlateGray" HorizontalAlignment="Left" VerticalAlignment="Top" Height="285" Margin="608,181,0,0" Width="170">
<TextBlock x:Name="tbInfo" Text="Gem information">
</TextBlock>
</Border>
</Grid>
</Window>
(statt Text = Gem Informationen, ich will die Kontrolle des selectedGem die Bindung, oder an einen seiner String-Typ-Eigenschaft)
tyvm! Ich habe tatsächlich viele Lösungen betrachtet, aber was sie alle übersprungen haben, war der Teil: Binding ElementName = control, von dem ich nicht wusste, dass er existiert, ich habe ihn nur mit DataContext und Path und als statische Ressource verwendet. Dies löste mein Problem vollständig. – Dragonturtle