2013-10-24 208 views

回答

0

您的示例代碼試圖設置CustomControl本身Template財產不TextBox的包含了CustomControl內。當您未顯示TextBox的XAML時,如果您想要更改ControlTemplate,則很難回答這樣的問題。正因爲如此,我只能「引導」你這是如何上的任何TextBox來完成:

<Style TargetType="MyCustomControl"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type CustomControl}"> 
       <Grid> 
        ... 
        <TextBox Background="{Binding SomeBrushProperty}"> 
         <TextBox.Template> 
          <ControlTemplate TargetType="{x:Type TextBox}"> 
           <!--Define your TextBox ControlTemplate here--> 
          </ControlTemplate> 
         </TextBox.Template> 
        </TextBox> 
        ... 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

在未來,請提供相關代碼的所有,以幫助您快速獲得答案,準確。


UPDATE >>>

好了,你的問題編輯後,我想我現在明白你的問題。但是,如果不更改CustomControl的代碼或爲其提供新的ControlTemplate(如我的第一個示例),則無法執行此操作。

如果可以更改代碼,你首先需要創建NewTextValueDependencyProperty如要使用正確的類型,例如。一個Brush。然後,你就必須改變CustomControl的XAML定義,包括這個:

<TextBox Background="{Binding NewTextValue}"> 
+0

問題修改 – James