2013-07-29 69 views
0

我想圍繞特定控件創建一個簡單邊框來創建一個程式化面板。我已經創建了一個控件的邊框,但現在我想創建它,以便我可以在整個應用程序的任何其他控件上重複使用它。我已經創建了一個用戶控件來做到這一點,但我無法獲得用戶控件來調整內容的大小。有沒有辦法在XAML中做同樣的事情,例如在Resources.xaml中使用ControlTemplate?WPF圍繞控件創建自定義邊框

<Border Background="LightGray" 
      BorderBrush="DarkGray" 
      BorderThickness="1" 
      ClipToBounds="True" 
      Opacity="0.80"> 
     <Border Background="#25FFFFFF" 
       BorderBrush="Black" 
       BorderThickness="1" 
       Margin="-2"> 
      <Border.Effect> 
       <DropShadowEffect ShadowDepth="0" BlurRadius="10"/> 
      </Border.Effect><!--Any Control - Insert TextBlock, Button, ContentPresenter --> 
    </Border> 
    </Border> 

回答

1

如果我理解正確,並且邊界不提供功能價值,它只是要應用到某些控件視覺裝飾,你可能要考慮的Adorner

Adorner的用途之一是將可視覆蓋圖應用於UIElements,這聽起來像是您在這裏的目標。該MSDN文章也提供了一個例子,一個簡單的搜索將產生大量的自定義Adorner的例子。