我從主窗口顯示了一個新窗口。我需要將一些來自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