WPF를 처음 사용하고 데이터 바인딩을 사용하여 내 컨트롤을 내 코드의 개체에 바인딩하는 방법을 이해하려고합니다. 코드 숨김에서 XAML 개체에 액세스하는 방법에 대한 몇 가지 질문을 볼 수 있지만 그게 내가 원하는 것은 아닙니다. 나는 그 일을하는 법을 이미 알고있다.XAML 코드에서 개체 액세스
label1.Content = LabelText;
listbox1.ItemsSource = ListItems;
XAML에서 코드 숨김에있는 클래스에 액세스하는 방법에 대한 답변도 보았습니다.
하지만 클래스의 특정 인스턴스에 적용하는 방법을 알지 못합니다. 다음은 내가하려는 일의 예입니다. '바인딩'은 분명히 잘못되었습니다. 그것이 내가 도움이 필요한 것입니다.
public partial class MainWindow : Window
{
private string _labelText;
private List<string> _listItems = new List<string>();
public MainWindow()
{
InitializeComponent();
_labelText = "Binding";
_listItems.Add("To");
_listItems.Add("An");
_listItems.Add("Object");
}
public string LabelText
{
get { return _labelText; }
set { _labelText = value; }
}
public List<string> ListItems
{
get { return _listItems; }
set { _listItems = value; }
}
}
<Window x:Class="SO_Demo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="SO Demo" Height="160" Width="225">
<Grid DataContext="MainWindow">
<Label x:Name="label1" Width="80" Height="25" Margin="12,12,0,0"
Content="{Binding Path=LabelText}"
HorizontalAlignment="Left" VerticalAlignment="Top" />
<ListBox x:Name="listbox1" Width="100" Height="60" Margin="12,44,0,0"
ItemsSource="{Binding Path=ListItems}" DisplayMemberPath="ListItems"
HorizontalAlignment="Left" VerticalAlignment="Top" />
</Grid>
</Window>
제가 읽은 책과 튜토리얼은 매우 간단해야합니다. 내가 뭘 놓치고 있니?
질문을 다시 말하면, 정확히 무엇이 누락되었는지 말할 수 없습니다. –