2012-03-09 11 views
0

に、私はCSで次のXAMLコードスニペットを必要とする(分離コードファイル)ストレッチツールバーtoolbartrayの分離コードとXAML

<ToolBarTray Width="450" IsLocked="True" > 
<ToolBar Width="{Binding ActualWidth,  
RelativeSource={RelativeSource FindAncestor,  
AncestorType={x:Type ToolBarTray}}}"> 
<Button>B1</Button> 
<Button>B2</Button> 
</ToolBar> 
</ToolBarTray> 

答えて

0

あなたは本当に、以下のスニペットは問題ないはずですより分離コードでこのコードを使用する場合。ただし、コードからDataTemplateを作成する場合は機能しません。その場合は、FrameworkElementFactory派生型を使用する必要があり、FrameoworkElement派生型は使用しないでください。

public ToolBarTray CreatetoolBarTray() 
    { 
     var tbt = new ToolBarTray 
         { 
          Width = 450.0, 
          IsLocked = true 
         }; 
     var tb = new ToolBar(); 
     var b = new Binding 
        { 
         Path = new PropertyPath("ActualWidth"), 
         Source = new RelativeSource(RelativeSourceMode.FindAncestor, typeof (ToolBarTray), 1), 
        }; 
     tb.SetBinding(WidthProperty, b); 

     tb.Items.Add(new Button() {Content = "b1"}); 
     tb.Items.Add(new Button() {Content = "b2"}); 

     tbt.ToolBars.Add(tb); 

     return tbt; 
    } 
関連する問題