2011-12-02 2 views
0

그래서 및 Button을 포함하는 UserControl이 있습니다. 내 UserControlWindow1.xaml에 포함 시켰습니다.하지만 Window1.xaml.cs에 내 ListView 컨트롤에 액세스 할 수 있도록하려면 어떻게해야 할 지 모르겠습니다.다른 창에서 UserControl 컨트롤에 액세스

그 밖의 무엇을해야합니까? 가장 좋은 방법은 무엇입니까?

답변

3

당신이해야 할 일이 아니고, 대신에 UserControl 내부에 바인딩 된 속성을 만들면 깨끗한 인터페이스를가집니다.

<UserControl Name="control" ...> 
    <ListView ItemsSource="{Binding ItemsSource, ElementName=control}"> 
     <!-- ... --> 
public class MyUserControl : UserControl 
{ 
    public static readonly DependencyProperty ItemsSourceProperty = 
     DependencyProperty.Register("ItemsSource", typeof(IEnumerable), typeof(MyUserControl), new UIPropertyMetadata(null)); 
    public IEnumerable ItemsSource 
    { 
     get { return (IEnumerable)GetValue(ItemsSourceProperty); } 
     set { SetValue(ItemsSourceProperty, value); } 
    } 
} 
<Window ...> 
    <local:MyUserControl x:Name="myUc"/> 
     <!-- ... --> 
myUc.ItemsSource = new string[] { "Lorem", "Ipsum" }; 
관련 문제