현재 WPF에서 사용자 지정 컨트롤을 만드는 방법을 배우고 있습니다. 레이블 및 텍스트 상자를 사용하여 간단한 사용자 지정 컨트롤을 만들었습니다. DependencyProperty에 의해 Label 텍스트를 설정할 수있었습니다.ComboBoxItem을 사용자 정의 컨트롤 (XAML/WPF)의 콤보 상자에 추가
이제 ComboBox가있는 사용자 정의 컨트롤을 만듭니다. 컨트롤 외부에서이 ComboBox에 항목을 추가 할 수 있어야합니다.
이 작업을 수행하기 위해 ItemsCollection 유형의 DependencyProperty를 노출하고 ComboBox의 Items 속성에 액세스 할 수있게되었습니다 (내 컨트롤 샘플의 DP 이름은 'CbItems'임). 그러나 Combobox의 Items 속성이 ReadOnly이기 때문에 오류가 발생합니다.
제어 XAML
<UserControl x:Class="MyWpfApp.Controls.MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="Auto" Width="Auto">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="{Binding FieldLabel}"></Label>
<ComboBox Name="cmb" Grid.Column="1" Width="150"></ComboBox>
</Grid>
</UserControl>
MainWindow를 XAML 내가 올바른 방법이 기능을 달성하기 위해 무엇인지 알고 싶습니다
<Window x:Class="MyWpfApp.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ctl="clr-namespace:MyWpfApp.Controls"
Title="Window1" Height="300" Width="300">
<Grid>
<ctl:MyControl>
<ctl:MyControl.CbItems>
<ComboBoxItem>Hello</ComboBoxItem>
<ComboBoxItem>World</ComboBoxItem>
<ComboBoxItem>Hi</ComboBoxItem>
</ctl:LobCombox.CbItems>
</ctl:LobCombox>
</Grid>
</Window>
. 나는이에 대한 답도 모든 당신이 필요한 정보, 그리고 당신이 할 수있는 모든 옵션의 철저한 설명을 포함 박사 WPF에서의 GridView 등 같은 다른 컨트롤
많은 감사
링크를 제공해 주셔서 감사합니다. 나는 CollectionViewSource를 사용하여 문제를 해결했다. – byte