사용자 정의 컨트롤을 다른 창에서 사용할 때 항목 목록을 전달할 WPF에 사용자 정의 컨트롤이 있습니다. 사용자 정의 컨트롤에는 ComboBox와 레이블이 포함되어 있으며 몇 가지 중요한 기능이 있습니다.). 내 페이지에 하나의 컨트롤이있는 경우이 작동합니다.하지만 두 가지가 내 사용자 컨트롤에서 나열된 값을 얻을, 아마도 DependencyProperty 정적 있기 때문에. 종속성 속성을 등록 할 때 오류가 발생하므로 정적을 제거 할 수 없습니다. 다음은 WPF 종속성 속성 여러 값을 표시하는 ObservableCollection
public static readonly DependencyProperty ComboBoxValuesProperty =
DependencyProperty.Register("ComboBoxValues", typeof(ObservableCollection<ComboBoxValue>), typeof(SystemConfigComboBox),
new PropertyMetadata(new ObservableCollection<ComboBoxValue>()));
public ObservableCollection<ComboBoxValue> ComboBoxValues
{
get { return GetValue(ComboBoxValuesProperty) as ObservableCollection<ComboBoxValue>; }
set { SetValue(ComboBoxValuesProperty, value); }
}
이
<customEditors:SystemConfigComboBox SystemConfigEntry="Entry1" ComboBoxLabel="Combo 1" ComboBoxWidth="300">
<customEditors:SystemConfigComboBox.ComboBoxValues>
<customEditors:ComboBoxValue DisplayValue="Value1" ActualValue="VALUE1" />
</customEditors:SystemConfigComboBox.ComboBoxValues>
</customEditors:SystemConfigComboBox>
<customEditors:SystemConfigComboBox SystemConfigEntry="Entry2" ComboBoxLabel="Combo 2" ComboBoxWidth="300">
<customEditors:SystemConfigComboBox.ComboBoxValues>
<customEditors:ComboBoxValue DisplayValue="Value2" ActualValue="VALUE2" />
</customEditors:SystemConfigComboBox.ComboBoxValues>
</customEditors:SystemConfigComboBox>
및 단지 정보 ComboBoxValue 클래스를 값 1과 값 2
을 포함 모두 사용자 컨트롤의 선택 상자를 보여줍니다 -public class ComboBoxValue : FrameworkElement
{
public static readonly DependencyProperty DisplayValueProperty =
DependencyProperty.Register("DisplayValue", typeof(string), typeof(ComboBoxValue));
public static readonly DependencyProperty ActualValueProperty =
DependencyProperty.Register("ActualValue", typeof(string), typeof(ComboBoxValue));
public string DisplayValue
{
get { return (string)GetValue(DisplayValueProperty); }
set { SetValue(NameProperty, value); }
}
public string ActualValue
{
get { return (string)GetValue(ActualValueProperty); }
set { SetValue(ActualValueProperty, value); }
}
}
완벽한, 덕분에 빠른 응답을. 위대한 작품! – Cookie