我从主窗口显示了一个新窗口。我需要将一些来自Main.cs的数据绑定到Upload.xaml中的ListBox。从父窗口绑定数据
最好的方法来做到这一点?目前看起来我没有访问这个对象,因为它不起作用。
我怎么打开的窗口: Main.xaml.cs:
private void upload_Click(object sender, RoutedEventArgs e)
{
//Show the upload form
Upload uploadForm = new Upload();
Functions.ShowDimmer(uploadForm);
//Manage result
}
的ShowDimmer方法只是显示在辩论的方式,它只是创造一个背后的半透明形式变暗后面的形式和在新的顶端。
这里是我上传的XAML
<ListBox Width="542" Height="100" Grid.Column="1" ItemsSource="{Binding Logged, UpdateSourceTrigger=PropertyChanged}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DockPanel Style="{StaticResource Users}">
<DockPanel.Background>
<ImageBrush ImageSource="{Binding ThumbLoc}" />
</DockPanel.Background>
<Label>
<Label.Content>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} {1}">
<Binding Path="FirstName" />
<Binding Path="LastName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Label.Content>
</Label>
</DockPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ListBox>
这是List对象我想要在Main.xaml.cs结合
//Public list of users and form can access
ObservableCollection<User> LoggedUsers = new ObservableCollection<User>();
public ObservableCollection<User> Logged
{
get
{
return LoggedUsers;
}
}
我一直在使用的DataContext我上传的窗口尝试,但我不知道如何访问它:
public partial class Upload : Window
{
public Upload()
{
InitializeComponent();
DataContext = Main.LoggedUsers;
}
}
什么是不好的做法? – 2014-10-03 17:03:30
请参阅安德烈斯克的更好实践的答案。你应该知道优秀的设计模式等。 – 2014-10-03 17:43:49
@MartynBall接受答案,如果它的工作。否则,让我知道发生了什么后,使用代码 – 2014-10-03 18:01:11