【发布时间】:2019-04-30 09:54:25
【问题描述】:
我不得不重写我的问题。下面的黑引号部分是编辑前的这篇文章。
我有两个属性:capacitiveCurrent 和 ShowProductSum。
在对我的 MVVM 应用程序进行任何更改之前,我曾经将 capacitiveCurrent 与在构造函数中设置的值绑定 - 它始终为 15。
capacitiveCurrent被放在不同的类LineOut,代码:
capacitiveCurrent 属性
private double _capacitiveCurrent;
public double CapacitiveCurrent
{
get { return _capacitiveCurrent; }
set
{
if (_capacitiveCurrent != value)
{
_capacitiveCurrent = value;
OnPropertyChanged("_capacitiveCurrent");
}
}
}
第二个属性放在MainWindow.xaml.cs代码中:
ShowProductSum
public double _showProductSum;
public double ShowProductSum
{
get { return _showProductSum; }
set
{
if (_showProductSum != value)
{
_showProductSum = value;
OnPropertyChanged("ProductSum");
}
}
}
设置和获取ShowProductSum 的逻辑已经完成.. 差不多了。但是我对这两个属性的期望是我希望它们出现在 ComboBox 中。这就是我所拥有的:
private ObservableCollection<double> _comboBoxCapacitiveCurrent = new ObservableCollection<double>();
public ObservableCollection<double> ComboBoxCapacitiveCurrent
{
get
{
_comboBoxCapacitiveCurrent.Clear();
_comboBoxCapacitiveCurrent.Add(lineWy.capacitiveCurrent);
_comboBoxCapacitiveCurrent.Add(ShowProductSum);
return _comboBoxCapacitiveCurrent;
}
set
{
if (_comboBoxCapacitiveCurrent != value)
{
_comboBoxPradPojemnosciowy = value;
OnPropertyChanged("ComboBoxCapacitiveCurrent");
}
}
}
public double SelectedItem { get; set; }
组合框:
<DataGridTemplateColumn Header="Capacitive Current " HeaderStyle="{StaticResource ZwarcioweHeaderStyle}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox
ItemsSource="{Binding Path=ComboBoxCapacitiveCurrent}"
SelectedValue="{Binding Path=SelectedItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
>
</ComboBox>
</DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn>
存在组合框,但组合框的下拉列表中没有任何内容。此组合框下方有一些空白区域。 一切都实现了 INotifyPropertyChanged 接口。
提前致谢。
我是 MVVM C# 的绝对初学者。我正在尝试绑定两个属性 它们位于两个不同的类中。
第一个属性是
public double capacitiveCurrent { get; set; }来自 一个类,直到那时我使用此属性以正常方式查看它 绑定 - 显示初始化值。public double productLengthShortCircuitCurrent { get { return length* capacitiveShortCircuitCurrentwithGround; } set { } } is a combination of the two `length` and `capacitiveShortCircuitCurrentwithGround` both with getters and二传手。
ComboBox 放在里面
`<DataGridTemplateColumn Header"ABC"> <DataGridTemplateColumn.CellTemplate <DataTemplate> <ComboBox .../>`我想要做的是将这两个属性列在 组合框和:
- 我需要
capacitiveCurrent可以从视图中编辑,
productLengthShortCircuitCurrent应该是所有设定值的总和(因此是总和积).. 我应该调用一个函数来执行此操作吗 然后将其绑定到 ComboBox?**我已经设法设置和获取此属性并实现了获取下面的
ProductSum属性.. 就是显示这两个 组合框中的属性。我真的很困惑。找了两天的答案,没来 有了一个想法。也许我的知识很浅,但是...试图绑定 这两个属性与
public IConnectedProperties Categories之类的接口和私有_category列表 getter 和 setter。
【问题讨论】:
-
SO 是一个英文网站。您有没有机会简单地使用您的属性名称?
-
真的很抱歉,已编辑:)
标签: c# wpf mvvm combobox properties