Ich versuche, eine Abhängigkeitseigenschaft über XAML an mein benutzerdefiniertes WPF-Steuerelement zu binden.WPF-Abhängigkeitseigenschaft wird nicht festgelegt
Hier ist, wie ich die Abhängigkeitseigenschaft registrieren:
public static readonly DependencyProperty AltNamesProperty =
DependencyProperty.Register ("AltNames", typeof(string), typeof(DefectImages));
public string AltNames
{
get { return (string) GetValue(AltNamesProperty); }
set { SetValue(AltNamesProperty, value); }
}
Und hier ist, wie ich es in meiner XAML nennen:
<DataGrid.Columns>
<DataGridTemplateColumn IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Name="StackPanel1" Grid.Column="0" Width="950">
<TextBlock FontSize="16" TextDecorations="None" Text="{BindingPath=StandardName}" Foreground="Black" FontWeight="Bold" Padding="5,10,0,0"></TextBlock>
<TextBlock Text="{Binding Path=AltNames}"TextWrapping="WrapWithOverflow" Padding="5,0,0,10"></TextBlock>
<!-- this part should be magic!! -->
<controls:DefectImages AltNames="{Binding Path=AltNames}"></controls:DefectImages>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
Ich kenne die AltNames
Eigenschaft, die ich zu binden bin versucht, ist eine gültige Eigenschaft, weil ich es in einem Textblock gut anzeigen kann. Registriere ich die Dependency-Eigenschaft falsch?
Was muss ich tun, um den korrekten Wert zu erhalten, der in meinem Code hinter AltNames
steht?
Haben Sie versucht, 'AltNames = "{Binding Path = AltNames, Mode = TwoWay}"'? Gibt es verbindliche Fehler im Ausgabefenster zur Laufzeit? – nemesv
@nemesv versucht gerade die Zwei-Wege-Bindung, ohne Glück. Es gibt keine verbindlichen Fehler im Ausgabefenster. – jacobsimeon
Es ist wahrscheinlich, dass dies durch 2 Eigenschaften mit dem gleichen Namen verwirrt wird. Hast du versucht, einen umzubenennen? Die Problemumgehung, die Sie als Antwort markiert haben, scheint wackelig zu sein! – Gusdor