Hi
Hab ein kleines Binding Problem in meinem UserControl
dieses enthält ein ContextMenu dessen Header Text ich als Depency Property nach aussen führen wollte
um diesen von extern ändern zu können
Leider funzt das Binding nicht mit dem MenuItem , wohl aber mit einer Textbox untendrunter.
Meine nächste Vermutung war es das der Header vom Typ Object ist und dieser mit einem String Property
nichts anfangen kann aber auch eine TextBox innerhalb des MenuItems brachte keinen Erfolg
Hier mal der XAML Code vom UserControl
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| <UserControl x:Class="BindingTest.myControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="meincontrol" Height="300" Width="300"> <Grid Background="Red"> <Grid.ContextMenu> <ContextMenu> <MenuItem Header="{Binding ElementName=meincontrol, Path=MeinText}"/> </ContextMenu> </Grid.ContextMenu> <TextBlock Text="{Binding ElementName=meincontrol, Path=MeinText}"/> </Grid> </UserControl> |
Und hier mal das Property C# Code
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| public static readonly DependencyProperty MeinTextProperty = DependencyProperty.Register("MeinText", typeof(string), typeof(myControl), new FrameworkPropertyMetadata("Hello World")); [TypeConverter(typeof(StringConverter))] public string MeinText { get { return (string)base.GetValue(MeinTextProperty); } set { base.SetValue(MeinTextProperty, value); } } |
Jemand ne Idee was im Binding oben geändert werden muss ?
Hab da derzeit nicht wirklich nen Plan von
Moderiert von Christian S.: Code- durch Xml- und C#-Tags ersetzt