WPF Combobox 问题请教

ChinaHuNannet 2010-10-26 04:16:20
基于MVVM模式开发的,其中View中相关代码如下:
<TextBlock FontSize="14" Height="25" Name="textBlock2" Text="纸卷品种:" Width="76" />
<ComboBox Height="23" Name="comboBox1" Width="178" ItemsSource="{Binding Observablezjpz}" SelectedValuePath="Key" DisplayMemberPath="Value" SelectedIndex="0" />
在对应的ViewModel中,相关代码如下:
private ObservableCollection<KeyValuePair<string, string>> _observablezjpz = null;

public ObservableCollection<KeyValuePair<string, string>> Observablezjpz
{
get
{
if (_observablezjpz == null)
{
_observablezjpz = GetObservable(paper.纸卷品种.ToString());
}
return _observablezjpz;
}

}

public ObservableCollection<KeyValuePair<string, string>> GetObservable(string _paperiftype)
{
int enumpaper = (int)Enum.Parse(typeof(paper), _paperiftype);
ObservableCollection<KeyValuePair<string, string>> _observableinfo;

_observableinfo = new ObservableCollection<KeyValuePair<string, string>>().PopulateFrom(
from tv in _paperDC.TotalViews
join dv in _paperDC.DetailViews on tv.tvid equals dv.tvid
where tv.tvid == enumpaper & dv.dvstatus == true
select new KeyValuePair<string, string>(dv.dvid.ToString(), dv.dvdisplay));
return _observableinfo;
}
问题是我怎么在ViewModel获取combobox中所选的Key和Value了,不是在View里面,谢谢。
...全文
188 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
leon0905 2010-10-27
  • 打赏
  • 举报
回复
如果是在SL中,mode必须设为twoway,默认是oneway的
ChinaHuNannet 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 chinahunannet 的回复:]
基于MVVM模式开发的,其中View中相关代码如下:
<TextBlock FontSize="14" Height="25" Name="textBlock2" Text="纸卷品种:" Width="76" />
<ComboBox Height="23" Name="comboBox1" Width="178" ItemsSource="{Binding Observable……
[/Quote]
已经解决。
ChinaHuNannet 2010-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 leon0905 的回复:]
在viewmodel中定义一个属性,把combobox的选中项也绑定了,通过该属性就可以获取选中项
[/Quote]

再说说吧!
ChinaHuNannet 2010-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 leon0905 的回复:]
在viewmodel中定义一个属性,把combobox的选中项也绑定了,通过该属性就可以获取选中项
[/Quote]
SelectedItem="{Binding Zjpzvalue}"
--------------------------------------------
viewmodel:
public object Zjpzvalue
{
get { return _zjpzvalue; }
set
{
if (_zjpzvalue != value)
{
_zjpzvalue = value;
OnPropertyChanged("Zjpzvalue");
}
}
}
得到是NULL,所以就根本没有从View中得到数据,谢谢

leon0905 2010-10-26
  • 打赏
  • 举报
回复
在viewmodel中定义一个属性,把combobox的选中项也绑定了,通过该属性就可以获取选中项
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧