簡體   English   中英

選擇listview項時填充文本框

[英]populate textbox when listview item is selected

我有場景。在我的視圖中,我有2個文本框,分別是Name(名稱),Address(地址),分別綁定viewModels屬性名稱(Name),Address(地址)。 我的問題是我要在選擇列表視圖中的一個項目時填充文本框(如何執行此操作(我在常規wpf applicaton中的selection_changed事件中做到了這一點,但在這里我使用的是MVVM模式)

編輯

我的觀點 :

<TextBox Height="23"
                 HorizontalAlignment="Stretch"
                 Margin="0,6,0,0"
                 Name="txtbxAddress"
                 Text="{Binding Path=Name}"
                 VerticalAlignment="Top"
                 Grid.Column="1"
                 Grid.Row="1" />
<TextBox Height="23"
                 HorizontalAlignment="Stretch"
                 Margin="0,6,0,0"
                 Name="txtbxAddress"
                 Text="{Binding Path=Address}"
                 VerticalAlignment="Top"
                 Grid.Column="1"
                 Grid.Row="1" />

 <ListView ItemsSource="{Binding Path=ManufactureRecords}"
                  SelectedItem="{Binding Path=SelectedManufacture}"
                  Margin="7"
                  Name="lstvw_Manufature_Master"
                 >
            <ListView.View>
                <GridView>

                    <GridViewColumn DisplayMemberBinding="{Binding Path=Manufacture_Name}"
                                    Header="Manufacture Name"
                                    Width="338" />
                    <GridViewColumn DisplayMemberBinding="{Binding Path=Address}"
                                    Header="Address"
                                    Width="0" />
                    <GridViewColumn DisplayMemberBinding="{Binding Path=Location}"
                                    Header="Location"
                                    Width="200" />
                    <GridViewColumn DisplayMemberBinding="{Binding Path=Phone_No}"
                                    Header="Phone_No"
                                    Width="120" />
                    <GridViewColumn DisplayMemberBinding="{Binding Path=Is_Active}"
                                    Header="Is_Active"
                                    Width="0" />
                </GridView>
            </ListView.View>
        </ListView>

這是我的ViewModel

 private string _name;
    public string Name
    {
        get { return _name; }
        set
        {
            _name = value;
            RaisePropertyChanged("Name");
        }
    }

    private string _address;
    public string Address
    {
        get { return _address; }
        set
        {
            _address = value;
            RaisePropertyChanged("Address");
        }
    }
 private ObservableCollection<Tbl_Manufacture_Master> _manufactureRecords;
    public ObservableCollection<Tbl_Manufacture_Master> ManufactureRecords
    {
        get { return _manufactureRecords; }
        set
        {
            _manufactureRecords = value;
            RaisePropertyChanged("ManufactureRecords");
        }
    }

    private Tbl_Manufacture_Master _selectedManufacture;
    public Tbl_Manufacture_Master SelectedManufacture
    {
        get { return _selectedManufacture; }
        set
        {
            _selectedManufacture = value;
            RaisePropertyChanged("SelectedManufacture");
        }
    }

從注釋中鏈接的示例開始,您需要命名ListView(即x:Name="listView" ),並在綁定中SelectedItem該名稱以及SelectedItem屬性:

<TextBox Height="23"
         HorizontalAlignment="Stretch"
         Margin="0,6,0,0"
         Name="txtbxAddress"
         Text="{Binding Path=SelectedItem.Name, ElementName=listView}"
         VerticalAlignment="Top"
         Grid.Column="1"
         Grid.Row="1" />
<TextBox Height="23"
         HorizontalAlignment="Stretch"
         Margin="0,6,0,0"
         Name="txtbxAddress"
         Text="{Binding Path=SelectedItem.Address, ElementName=listView}"
         VerticalAlignment="Top"
         Grid.Column="1"
         Grid.Row="1" />

<ListView ItemsSource="{Binding Path=ManufactureRecords}"
          SelectedItem="{Binding Path=SelectedManufacture}"
          Margin="7"
          x:Name="listView"
          Name="lstvw_Manufature_Master">
    ...
</ListView>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM