개체를 여기서C#을 내가 C# WPF 프로그래밍 초보자 해요, 내가 어려움 (보낸이의 하루) 시스템을 만드는 방법을 알아내는 데 문제
1) 버튼 클릭으로 UI 요소 모음 (그룹 상자에 있음)이 생성됩니다.
2) 그룹 상자에는 텍스트 입력란 (int 입력)과 콤보 박스 (문자열 중에서 선택)가 있습니다. 나는 콤보 박스를리스트의 요소들로 채울 필요가있다. 입력란에서 입력을 받아서 콤보 상자에서 선택해야하고 내 구조체 목록에 배치해야합니다. Rules {String topic; int number}.
사용자가 생성하는 많은 그룹 박스에 대해이 작업을 수행해야합니다.
내가 가진 주된 질문은 이러한 콤보 상자에 액세스하여 어떻게 채우는가입니다. 어떻게 그들로부터 의견을 얻나요?
XAML는 C#에 관해서는
<Window x:Class="ExamMaker.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ExamMaker"
mc:Ignorable="d"
Title="Exam Preparation" Height="350" Width="525"
Closing="Window_Closing">
<Window.Resources>
<DataTemplate x:Key="ruleTemplate">
<GroupBox x:Name="Rulebox" Header="Rule " HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Top" Height="56" Width="468">
<Grid HorizontalAlignment = "Left" Height="36" Margin="0,0,-2,0" VerticalAlignment="Top" Width="458">
<Label x:Name="TopicRuleLabel" Content="Topic:" HorizontalAlignment="Left" Margin="5,4,0,0" VerticalAlignment="Top" Height="28"/>
<TextBox x:Name="NumberRuleTextBox" HorizontalAlignment="Left" Height="22" Margin="240,9,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="30" />
<ComboBox x:Name="RuleComboBox" HorizontalAlignment="Left" Margin="50,9,0,0" VerticalAlignment="Top" Width="120"/>
<Label x:Name="NumberRuleLabel" Content="Number:" HorizontalAlignment="Left" Margin="179,4,0,0" VerticalAlignment="Top" Height="28"/>
</Grid>
</GroupBox>
</DataTemplate>
</Window.Resources>
<Grid>
<TabControl x:Name="tabControl" HorizontalAlignment="Left" Height="319" VerticalAlignment="Top" Width="517">
<TabItem Header="Exam Preparation">
<Grid Background="#FFE5E5E5" Margin="0,0,0,0">
<ListView x:Name="listView" ItemsSource="{Binding Path=examQS}">
<ContentControl ContentTemplate="{StaticResource ruleTemplate}">
</ContentControl>
</ListView>
</Grid>
</TabItem>
<TabItem Header="Question Form" Margin="-2,0,0,0" HorizontalAlignment="Left" Width="95">
</TabItem>
<TabItem Header="Setup" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top" Width="54">
</TabItem>
</TabControl>
</Grid>
</Window>
잘 나는 단지 하나 개의 관찰 가능한 거기 수집 및 추가하고 그것에서 항목을 제거하기위한 몇 가지 방법이있다.
'올바른 방법'을 사용하려면 Model-View-ViewModel 아키텍처 패턴을 조사해야합니다. 이 문제는 템플릿이있는 것을 나타내는 ViewModel 형식을 만들어 WPF에서 해결됩니다. ViewModel 간의 통신은 종종 Event Aggregation과 같은 메시징 패턴을 사용하여 처리됩니다. –
나는 그걸 읽었지만, 불행하게도 가능한 빨리 시제품을 내놓기 위해 위기 상황에 처해있다. 나는 거친 프로토 타입이 준비되면 제대로 만들 수있을 것이라고 생각하지만. 고맙습니다. – Adhordal