現在、Windows フォームのユーザー インターフェイスを備えたアプリケーションを使用しています。このユーザー インターフェイスの背後にあるコードは、サービスと通信します。
たとえば、次のコードがあります。
public partial class MainWindow : Window
{
private KeyLessAccessLogic ServiceLogic;
public MainWindow()
{
InitializeComponent();
ServiceLogic = new KeyLessAccessLogic();
//LoadValues();
}
public KeyLessAccessLogic MyServiceLogic
{
get { return ServiceLogic; }
set
{
ServiceLogic = value;
// RaisePropertyChanged("MyServiceLogic");
}
}
private void BindDataSource()
{
cmb_user_name.DataSource = null;
cmb_user_name.Sorted = false;
cmb_user_name.DataSource = ServiceLogic.Users;
cmb_user_name.DisplayMember = "name";
}
そして私のXAML:
<ComboBox Height="23" HorizontalAlignment="Left" Margin="6,71,0,0"
Name="cmb_user_update" VerticalAlignment="Top" Width="120"
ItemsSource="{Binding Path=MyServiceLogic.Users}" DisplayMemberPath="name" />
今、私は WPF で UI を再作成しましたが、新しい形式について少し迷っています。ここで挙げた例は、WPF と Windows フォームの違いの例の 1 つだと思います。
Dropdown-box のデータソースをアプリケーションに知らせるにはどうすればよいcmb_user_name
ですか? ServiceLogic
たとえばデータベースにアクセスする、私のサービスの中心的なブロックです。
次に、いくつかのデバイスを表示するリストボックスがあります。他に試したことを示すために、データソースに別のアプローチを試みました。
<ListBox Height="100" HorizontalAlignment="Left" Margin="6,44,0,0"
Name="listBox_detected" VerticalAlignment="Top" Width="120"
ItemsSource="{Binding Path=ServiceLogic.TheDevicesList}" DisplayMemberPath="name" />