WPF(VS2010 / .NET4.0)创建可重复使用的表单布局

时间:2011-03-16 03:21:33

标签: wpf .net-4.0 custom-controls

简而言之,我想要实现的是拥有一个可重用的DLL,它可能具有类似于表单的向导。然后我可以简单地设置内容。我花了很多时间搜索,但我仍然不确定最好的方式去。我也看过this文章。

我在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中使用此代码以便我可以重复使用它。
  3. 谢谢!

1 个答案:

答案 0 :(得分:1)

在类库或WPF用户控件库中将其创建为WPF用户控件。然后,将ContentControls放在您想要动态内容的位置。您可以为每个ContentControl公开DataTemplate属性。 ContentControls可以将他们的模板绑定到DataTemplate,你应该很高兴。