我一直在玩,並四處尋找如何將一個模型視圖綁定到視圖,但我似乎無法解決它。 我有一個名爲Search的視圖,我想將它綁定到SearchModelView。 查看有一個按鈕和一個文本框,並期待:WPF視圖模型視圖綁定需要幫助請
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<ComboBox Height="23" HorizontalAlignment="Left" Margin="12,40,0,0" Name="comboBox1" VerticalAlignment="Top" Width="174" />
<Label Content="Client:" Height="28" HorizontalAlignment="Left" Margin="0,12,0,0" Name="label1" VerticalAlignment="Top" Width="71" />
<Label Content="Client Reference:" Height="28" HorizontalAlignment="Left" Margin="0,69,0,0" Name="label2" VerticalAlignment="Top" Width="117" />
<TextBox
x:Name="clientRefTxt"
Text="{Binding Path=ClientRef, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
Height="23"
HorizontalAlignment="Left"
Margin="12,103,0,0"
VerticalAlignment="Top"
Width="174" />
<Button
Content="Search Debtors"
Height="23"
HorizontalAlignment="Left"
Margin="12,140,0,0"
Name="button1"
VerticalAlignment="Top"
Width="89"
Command="{Binding Path=SearchCommand}"/>
</Grid>
而且我希望它綁定到SearchViewModel:
命名空間Master.ViewModel {
public class SearchViewModel:WorkspaceViewModel
{
RelayCommand _searchCommand;
readonly Search _search;
#region Search Properties
public string ClientRef
{
get { MessageBox.Show("GET CLIENTREF"); return _search.ClientRef; }
set
{
MessageBox.Show("SET CLIENTREF");
if (value == _search.ClientRef)
return;
_search.ClientRef = value;
base.OnPropertyChanged("ClientRef");
}
}
#endregion
public ICommand SearchCommand
{
get
{
MessageBox.Show("SEARCHCOMMAND");
if (_searchCommand == null)
{
_searchCommand = new RelayCommand(
param=> this.Search(),
param=> this.CanSearch
);
}
return _searchCommand;
}
}
public void Search()
{
MessageBox.Show("SEARCHING");
}
bool CanSearch
{
get { return true; }
}
}
}
我刪除了頂部的所有程序集,但假設它們都在那裏。另外請注意,SearchViewModel是在一個單獨的DLL中,而不是在與視圖的EXE。 任何幫助將是偉大的或至少是一個指針的寫入方向,我已經閱讀了MSDN上的MVVM文章,並沒有幫助...我需要一個更好的破壞綁定這些片斷。 在此先感謝。 P.S. 更多的細節: SearchViewModel屬於Master.ViewModel 搜索查看是和GUI.View 的一部分,我有想法綁定的對象是如何工作的,我不是來確保對如何看法綁定到視圖模型