WPF (VS2010 / .NET4.0) Создание многоразового макета формы - PullRequest
0 голосов
/ 16 марта 2011

Короче говоря, я пытаюсь добиться многократного использования DLL, которая потенциально может иметь форму, подобную волшебнику. Я мог бы тогда просто установить содержание. Я потратил немало времени на поиски, но я все еще не уверен, как лучше идти. Я также посмотрел эту статью.

Я получил следующую структуру в коде XAML:

<Grid x:Name="MainGrid">
    <Grid.RowDefinitions>
        <RowDefinition Height="20"/>
        <RowDefinition Height="30"/>
        <RowDefinition Height="20"/>
        <RowDefinition Height="30"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="30"/>
        <RowDefinition Height="20"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="20"/>
        <ColumnDefinition Width="50"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="50"/>
        <ColumnDefinition Width="20"/>
    </Grid.ColumnDefinitions>
    <Label Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" Content="{Binding ScreenTitleText}" />
    <Label x:Name="ContentTitle" Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="2" Content="{Binding ContentTitleText}"  />
    <Button x:Name="BackButton" Grid.Row="5" Grid.Column="1" Content="Back"  />
    <Button x:Name="NextButton" Grid.Row="5" Grid.Column="3" Content="Next"   />
    <ScrollViewer Grid.Row="4" Grid.Column="2" Content="{Binding InnerContent}" x:Name="InnerControl"/>
</Grid>
  1. Мне бы хотелось узнать, как сделать так, чтобы я мог установить содержимое в row = 4 и column = 2, например, для набора переключателей.
  2. Как поместить этот код в DLL, чтобы я мог использовать его снова.

Спасибо!

1 Ответ

1 голос
/ 16 марта 2011

Создайте его как пользовательский элемент управления WPF в библиотеке классов или библиотеке элементов управления WPF.Затем поместите ContentControls туда, куда вы хотите, чтобы динамические вещи пошли.Вы можете предоставить свойства DataTemplate для каждого из этих ContentControls.ContentControls могут связать свой шаблон с шаблоном DataTemplate, и вы должны быть готовы.

...