2011-03-16 59 views
0

簡而言之,Im試圖實現的是擁有一個可重用的DLL,它可能會有一個像表單一樣的嚮導。我可以簡單地設置內容。我花了不少時間搜索,但我仍然不確定什麼是最好的方式去。我也看過this文章。WPF(VS2010/.NET4.0)創建一個可重用的表單佈局

Ive得到的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. 我想知道如何使它這樣我就可以設置行內容= 4,列= 2來說,例如一組單選按鈕。
  2. 如何讓這段代碼在一個DLL中,以便我可以重新使用它。

謝謝!

回答

1

將其創建爲類庫或WPF用戶控件庫中的WPF用戶控件。然後,把ContentControls放到你想要的地方去。您可以公開每個ContentControls的DataTemplate屬性。 ContentControls可以將他們的模板綁定到DataTemplate,你應該很好。

+0

感謝那@Brent。我不知道如何Grid.Row =「4」Grid.Column =「2」可以有一個ContentControl。我的理解是,ContentControl中只能有一個項目,我們利用它的Content屬性。我想要在位置Grid.Row =「4」Grid.Column =「2」中設置各種項目。或者我錯過了一些你應該使用Template屬性的地方?乾杯。 – TheRenoRanger 2011-03-16 18:53:32

+0

如果您將一個ContentControl放在Grid.Row =「4」Grid.Column =「2」中,它可以用作您希望放置在那裏的各種項目的佔位符。假設你想一次放置一個。當然,沒有什麼能夠阻止你將一個項目變成一個包含多個項目的Grid或其他Panel控件。 – 2011-03-18 04:58:43

+0

我提到DataTemplates作爲UserControl的一個選項,以提供一種方法來更改ContentControls的內容。只是一個可以保持你的UserControl動態的選項。 – 2011-03-18 05:06:33