2010-10-16 37 views
1

我要創造我自己的控制:如何在電網中引用電流控制?

public class DataGrid : System.Windows.Controls.DataGrid 

在樣式定義,我想補充的網格上方的按鈕,所以我寫了:

<Style TargetType="local:DataGrid"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="local:DataGrid"> 
       <Grid> 
        <Button Content="Addnew"></Button> 
        <?????> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
</Style> 

但我怎麼能告訴XAML把網格放在位置????? ?

謝謝大家!

回答

0

您確定要在這裏使用繼承嗎?您應該考慮創建另一個包含DataGrid而不是從DataGrid繼承並使用默認模板的控件。

如果您確定需要自定義DataGrid的模板,則需要重新創建整個DataGrid模板。通過在.net反射器或類似應用程序中打開DataGrid的程序集並打開嵌入資源「generic.xaml」,您可以找到原始的DataGrid模板。該文件將包含一個ResourceDictionary,它定義了程序集中定義的控件的所有默認樣式。您可以從這裏複製默認模板並根據需要進行修改。

或者,如果您有Expression Blend,您可以通過右鍵單擊DataGrid控件並選擇「編輯此模板的副本」(或類似的東西,我不記得確切的措辭關閉我的頭頂)。