簡體   English   中英

窗口和用戶控件中的WPF綁定

[英]WPF bindings in window and user control

我有控件庫和WPF應用程序。 我需要創建我的自定義控件以使圖形更生動。 因此,我進行了GraphControl並在其中設置了自定義屬性GraphData:

public static readonly DependencyProperty GraphDataProperty = DependencyProperty.Register("GraphData", typeof(Graph), typeof(GraphControl));

public Graph GraphData
{
    get { return (Graph)GetValue(GraphDataProperty); }
    set
    {
        SetValue(GraphDataProperty, value);
        TextBlock.Text = "asdfasdfasdfasdfasd";
    }
}

這部分完成了,但是現在我想將GraphData綁定到嵌套GraphControl的應用程序的MainWindow中的屬性。 我的意思是我想在MainWindow中更改一些graphData屬性,當我這樣做時,圖形將重新渲染,並且所有呈現都發生在控件而不是窗口內。 例如:

<controls:GraphControl x:Name="GraphControl" GraphData="{Binding GraphData}"/>

如果我在Window中創建新的DependencyProperty,則所有更改都在window中處理,而不是在控件中處理。

據我了解,您想將控件的屬性綁定到窗口上的屬性,而不是DataContext上的屬性。 在這種情況下,您可以使用RelativeSource外觀來實現,如下所示:

<controls:GraphControl x:Name="GraphControl" GraphData="{Binding Path=GraphData, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM