2009-07-16 63 views
0

你能幫我嗎?我需要每個項目都帶有CheckBox的TreeView。我無法得到它,我開始像這樣,並且看起來像絕對錯誤的方式:WPF TreeView與自定義風格

<TreeView Grid.Row="0" Grid.Column="0" Name="StagesTreeView" Margin="5"> 
     <TreeView.Resources> 
      <Style TargetType="{x:Type TreeViewItem}"> 
       <!-- <Setter Property="?????"> WHAT SHOULD BE HERE? 
        <Setter.Value> 

        </Setter.Value> 
       </Setter> --> 
      </Style> 
     </TreeView.Resources> 
    </TreeView> 

指給我。一些簡單的例子

UPD:哦......我想我需要一個控件模板,但我仍然不知道如何使它

UPD2:天哪,竟有我深入到這個我越來越不知所措。我應該在這裏的某處使用RelativeSource標記擴展嗎?誰來幫幫我!

UPD3:現在它不能像TreeBox一樣工作 - 我無法展開\摺疊項目,雖然我稍微向前移動 - 我可以看到複選框。

 <TreeView Grid.Row="0" Grid.Column="0" Name="StagesTreeView" Margin="5"> 
     <TreeView.Resources> 
      <Style x:Key="{x:Type TreeViewItem}" TargetType="TreeViewItem"> 
       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate> 
          <Grid Margin="2"> 
           <Grid.RowDefinitions> 
            <RowDefinition Height="Auto"/> 
            <RowDefinition Height="*"/> 
           </Grid.RowDefinitions> 
           <StackPanel Grid.Row="0" Orientation="Horizontal"> 
            <CheckBox IsChecked="{Binding Path=IsActive}"/> 
            <TextBlock Text="{Binding Path=Alias.UserName}"/> 
           </StackPanel> 
           <ItemsPresenter Grid.Row="1"/> 
          </Grid> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
      </Style> 

     </TreeView.Resources> 
    </TreeView> 

回答

3

事情是這樣的:

<TreeView Grid.Row="0" Grid.Column="0" Name="StagesTreeView" Margin="5"> 
    <TreeView.Resources> 
     <Style TargetType="TreeViewItem"> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="TreeViewItem"> 
         <StackPanel Orientation="Horizontal"> 
          <CheckBox Margin="2" Name="checkBox1"/> 
          <Border Padding="2"> 
           <ContentPresenter Name="PART_header" ContentSource="Header"/> 
          </Border> 
         </StackPanel> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </TreeView.Resources> 
</TreeView> 
2

您可能會發現這個有用:Working with Checkboxes in the WPF TreeView

+0

看起來非常適合我。等一下,我要仔細檢查一下。謝謝! – Agzam 2009-07-16 14:58:13

+0

我不能整理出來。我是一個糟糕的程序員。這些WPF事情現在非常困難,也讓我感到糾結。 – Agzam 2009-07-16 18:18:02