私はListBox
を持っています。TextBoxes
の2つのデータをボタンをクリックして入力したいと思います。私は問題が異なるtextblock
から来ると思う私は私のlistbox
にある。ここで私はイメージで何をしたいです: TheUI 私listbox
のMainWindow.xaml
:2つのテキストボックスからDataBindingを使用してListBoxを入力する
<ListBox x:Name="listBox"
ItemsSource="{Binding Issues}" Grid.Column="1" HorizontalAlignment="Left" Height="366" VerticalAlignment="Top" Width="453" Margin="0,0,-1,0">
<StackPanel Margin="3">
<DockPanel >
<TextBlock FontWeight="Bold" Text="Issue:"
DockPanel.Dock="Left"
Margin="5,0,10,0"/>
<TextBlock Text=" " />
<TextBlock Text="{Binding Issue}" Foreground="Green" FontWeight="Bold" />
</DockPanel>
<DockPanel >
<TextBlock FontWeight="Bold" Text="Comment:" Foreground ="DarkOrange"
DockPanel.Dock="Left"
Margin="5,0,5,0"/>
<TextBlock Text="{Binding Comment}" />
</DockPanel>
</StackPanel>
</ListBox>
マイMainWindow.xaml.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public sealed class ViewModel
{
public ObservableCollection<Issue> Issues { get; private set; }
public ViewModel()
{
Issues = new ObservableCollection<Issue>();
}
}
private void addIssue_Click(object sender, RoutedEventArgs e)
{
var vm = new ViewModel();
vm.Issues.Add(new Issue { Name = "Jon Skeet", Comment = "lolilol" });
DataContext = vm;
InitializeComponent();
}
}
マイIssue.cs
:
public sealed class Issue
{
public string Name { get; set; }
public string Comment { get; set; }
}
私はドンをこのチュートリアルに従うけどデータベースを実装したくない: Tuto 私もこれを試してみようstackoverflow question エラーは'System.InvalidOperationException'
The Items collection must be empty to use ItemsSource
ですが、これは問題の中心です。
なぜボタンをクリックするたびにデータコンテキストを設定していますか? – Pikoh
ボタンを押すたびにIssue/Commentのペアを追加したいので、 – Babuh
する必要はありません。 ObservableCollectionは、新しいIssueが追加されるたびにUIを更新します。 – Pikoh