silverlight die Bindung an eine Abhängigkeit Eigenschaft in einem benutzerdefinierten Steuerelement

Ich habe ein custom control ive erstellt, die instanziert ist in meinen Augen, in meinem custom control (ein Textfeld) habe ich eine Abhängigkeitseigenschaft festlegen, welche gebunden ist an den text-Wert, das alle arbeiten korrekt und updates. Allerdings will ich jetzt binden eine Abhängigkeitseigenschaft, der meine Ansicht zu der Abhängigkeitseigenschaft meiner Kontrolle, aber ich kann nicht ankommen dieses zu Recht. Heres, was ich meine

Steuerung ausgewählter bits

    <TextBox x:Name="txtBox" 
                     GotFocus="txtBox_GotFocus" 
                     LostFocus="txtBox_LostFocus" 
                     Grid.Row="0" 
                     Text="{Binding TextValueProperty, Mode=TwoWay}"/>

 public DependencyProperty TextValueProperty{ get; set; }

 public int TextValue
        {
            get { return (int)GetValue(TextValueProperty); }
            set
            {
                if ((value >= MinValue) && (value <= MaxValue))
                {
                    SetValue(TextValueProperty, value);
                }
            }
        }
    public CustomControl()
    {
         TextValueProperty = DependencyProperty.Register("TextValueProperty ", typeof(int), typeof(CustomControl), new PropertyMetadata(null ));
    }

Ansicht ausgewählten bits

<my:CustomControl x:Name="TxtBoxInt"  Grid.RowSpan="2" Grid.Row="0"  Grid.Column="1"/>

Ich dies tun möchten:

<my:CustomControlx:Name="TxtBoxInt" TextValueProperty="{Binding DestinationProperty}" Grid.RowSpan="2" Grid.Row="0"  Grid.Column="1"/>

- und Code-aus der Sicht

 public DependencyProperty DestionationProperty;


        public int Destination
        {
            get
            {
                return (int)GetValue(DestionationProperty);
            }
            set
            {
                SetValue(DestionationProperty, value);
            }
        }

        public CustomControl()
        {
            DestionationProperty = DependencyProperty.Register("DestionationProperty", typeof(int), typeof(CustomControl), null);            
            InitializeComponent();
        }

Also, was muss ich tun, um in der Lage zu binden, mein int-Wert Ziel-in meiner Sicht auf den gleichen Wert haben wie meine Textwert aus meiner custom control? Danke 🙂

ps hi ash

  • +1 Das ist eine gute Frage, es zeigt viele Missverständnisse und Fallstricke in einem Arbeitsgang. Es könnte einige Zeit dauern, um zu liefern eine vollständige Antwort. Eine Frage, über die Anforderungen, die Sie versuchen, zu erstellen ein Steuerelement, das ermöglicht die Eingabe von nur einer Zahl und nur eine min/Reichweite? Sie können nicht finden, eine Kontrolle in der SDK-oder Silverlight-Toolkit, wie das styling der NumericUpDown Kontrolle?
  • Dies ist sehr viel die limited version zur Festlegung der Grundlagen der einfachen Bindung mit dem Wert des Feldes. Mehr Funktionalität wird schließlich erforderlich sein, aber auch ich werde wahrscheinlich das gleiche problem haben, wenn Sie andere Steuerelemente also am besten, um dieses Problem aus dem Weg zuerst. Ich glaube, was im fehlt ist eine Eigenschaft angehoben Sachen, die ich nicht hatte kein Glück, der Umsetzung arbeiten
InformationsquelleAutor lee | 2010-08-03
Schreibe einen Kommentar