我一直在玩,并四处寻找如何将一个模型视图绑定到视图,但我似乎无法解决它。 我有一个名为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 的一部分,我有想法绑定的对象是如何工作的,我不是来确保对如何看法绑定到视图模型