110,538
社区成员
发帖
与我相关
我的任务
分享
<TreeView x:Name="myFolders" Margin="0,20,0,0" Width="auto" TreeViewItem.PreviewMouseRightButtonDown="TreeViewItem_PreviewMouseRightButtonDown" TreeViewItem.Selected="TreeViewItem_Selected" TreeViewItem.Expanded="mytreeview_Expanded" HorizontalAlignment="Left" VerticalAlignment="Top" Height="auto">
<TreeView.Effect>
<DropShadowEffect ShadowDepth="1" Opacity="0.345"/>
</TreeView.Effect>
<TreeView.ContextMenu>
<ContextMenu x:Name="menu" Width="50">
<MenuItem Header="下载" x:Name="download" MenuItem.Click="downloadMenuItem_Click" >
</MenuItem>
<MenuItem Header="同步到服务器" x:Name="upload" MenuItem.Click="uploadMenuItem_Click" >
</MenuItem>
<MenuItem Header="文件夹另存为..." x:Name="share" MenuItem.Click="shareMenuItem_Click" >
</MenuItem>
<MenuItem Header="新建文件夹" MenuItem.Click="Createfolder_click" >
</MenuItem>
<MenuItem Header="添加文件" MenuItem.Click="dg_addnewfile_Click" >
</MenuItem>
<MenuItem Header="重命名" MenuItem.Click="rename_Click" >
</MenuItem>
<MenuItem Header="删除" MenuItem.Click="Delete_Click" >
</MenuItem>
</ContextMenu>
</TreeView.ContextMenu>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="TreeViewItem.PreviewMouseRightButtonDown" Handler="TreeViewItem_PreviewMouseRightButtonDown"/>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
private void TreeViewRootLoad()//加载根目录
{
string loginTemp = "username=" + Global.UserName;
DataTable dt = HtmlHelper.GetSOAPResult(loginTemp, "GetFolderFootList");
myFolders.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeViewItem tvi = new TreeViewItem();
tvi.Tag = dt.Rows[i]["FolderId"].ToString();
tvi.Header = dt.Rows[i]["FolderName"].ToString();
tvi.Items.Add("*");
if (i == dt.Rows.Count - 1)
{
fid = tvi.Tag.ToString();
BandFile();
}
myFolders.Items.Add(tvi);
}
}
private void tv_ChildLoad(TreeViewItem tvi)//展开子目录
{
string loginTemp = "Folderid=" + tvi.Tag.ToString();
DataTable dt = HtmlHelper.GetSOAPResult(loginTemp, "GetFolderChildList");
if (!tvi.Items.Contains("*"))
{
return;
}
tvi.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeViewItem tvis = new TreeViewItem();
tvis.Tag = dt.Rows[i]["FolderId"].ToString();
tvis.Header = dt.Rows[i]["FolderName"].ToString();
tvis.Items.Add("*");
tvi.Items.Add(tvis);
}
}
[/quote]
把 DataTemplate 绑定到你的Treeview上的ItemsPanelTemplate上。[/quote]
能说的详细一些吗,我接触WPF才两个星期..
<HierarchicalDataTemplate x:Key="DataTemplate" ItemsSource="{Binding ChildrenEntityTree}">
<TextBlock Text="{Binding CurrentBaseEntity.Name}"></TextBlock>
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding ChildrenEntityTree}">
<TextBlock Text="{Binding CurrentBaseEntity.Name}"></TextBlock>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
把textBlock改成textBox,绑定方式改成双向绑定<TreeView x:Name="myFolders" Margin="0,20,0,0" Width="auto" TreeViewItem.PreviewMouseRightButtonDown="TreeViewItem_PreviewMouseRightButtonDown" TreeViewItem.Selected="TreeViewItem_Selected" TreeViewItem.Expanded="mytreeview_Expanded" HorizontalAlignment="Left" VerticalAlignment="Top" Height="auto">
<TreeView.Effect>
<DropShadowEffect ShadowDepth="1" Opacity="0.345"/>
</TreeView.Effect>
<TreeView.ContextMenu>
<ContextMenu x:Name="menu" Width="50">
<MenuItem Header="下载" x:Name="download" MenuItem.Click="downloadMenuItem_Click" >
</MenuItem>
<MenuItem Header="同步到服务器" x:Name="upload" MenuItem.Click="uploadMenuItem_Click" >
</MenuItem>
<MenuItem Header="文件夹另存为..." x:Name="share" MenuItem.Click="shareMenuItem_Click" >
</MenuItem>
<MenuItem Header="新建文件夹" MenuItem.Click="Createfolder_click" >
</MenuItem>
<MenuItem Header="添加文件" MenuItem.Click="dg_addnewfile_Click" >
</MenuItem>
<MenuItem Header="重命名" MenuItem.Click="rename_Click" >
</MenuItem>
<MenuItem Header="删除" MenuItem.Click="Delete_Click" >
</MenuItem>
</ContextMenu>
</TreeView.ContextMenu>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="TreeViewItem.PreviewMouseRightButtonDown" Handler="TreeViewItem_PreviewMouseRightButtonDown"/>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
private void TreeViewRootLoad()//加载根目录
{
string loginTemp = "username=" + Global.UserName;
DataTable dt = HtmlHelper.GetSOAPResult(loginTemp, "GetFolderFootList");
myFolders.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeViewItem tvi = new TreeViewItem();
tvi.Tag = dt.Rows[i]["FolderId"].ToString();
tvi.Header = dt.Rows[i]["FolderName"].ToString();
tvi.Items.Add("*");
if (i == dt.Rows.Count - 1)
{
fid = tvi.Tag.ToString();
BandFile();
}
myFolders.Items.Add(tvi);
}
}
private void tv_ChildLoad(TreeViewItem tvi)//展开子目录
{
string loginTemp = "Folderid=" + tvi.Tag.ToString();
DataTable dt = HtmlHelper.GetSOAPResult(loginTemp, "GetFolderChildList");
if (!tvi.Items.Contains("*"))
{
return;
}
tvi.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeViewItem tvis = new TreeViewItem();
tvis.Tag = dt.Rows[i]["FolderId"].ToString();
tvis.Header = dt.Rows[i]["FolderName"].ToString();
tvis.Items.Add("*");
tvi.Items.Add(tvis);
}
}
[/quote]
把 DataTemplate 绑定到你的Treeview上的ItemsPanelTemplate上。<TreeView x:Name="myFolders" Margin="0,20,0,0" Width="auto" TreeViewItem.PreviewMouseRightButtonDown="TreeViewItem_PreviewMouseRightButtonDown" TreeViewItem.Selected="TreeViewItem_Selected" TreeViewItem.Expanded="mytreeview_Expanded" HorizontalAlignment="Left" VerticalAlignment="Top" Height="auto">
<TreeView.Effect>
<DropShadowEffect ShadowDepth="1" Opacity="0.345"/>
</TreeView.Effect>
<TreeView.ContextMenu>
<ContextMenu x:Name="menu" Width="50">
<MenuItem Header="下载" x:Name="download" MenuItem.Click="downloadMenuItem_Click" >
</MenuItem>
<MenuItem Header="同步到服务器" x:Name="upload" MenuItem.Click="uploadMenuItem_Click" >
</MenuItem>
<MenuItem Header="文件夹另存为..." x:Name="share" MenuItem.Click="shareMenuItem_Click" >
</MenuItem>
<MenuItem Header="新建文件夹" MenuItem.Click="Createfolder_click" >
</MenuItem>
<MenuItem Header="添加文件" MenuItem.Click="dg_addnewfile_Click" >
</MenuItem>
<MenuItem Header="重命名" MenuItem.Click="rename_Click" >
</MenuItem>
<MenuItem Header="删除" MenuItem.Click="Delete_Click" >
</MenuItem>
</ContextMenu>
</TreeView.ContextMenu>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="TreeViewItem.PreviewMouseRightButtonDown" Handler="TreeViewItem_PreviewMouseRightButtonDown"/>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
private void TreeViewRootLoad()//加载根目录
{
string loginTemp = "username=" + Global.UserName;
DataTable dt = HtmlHelper.GetSOAPResult(loginTemp, "GetFolderFootList");
myFolders.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeViewItem tvi = new TreeViewItem();
tvi.Tag = dt.Rows[i]["FolderId"].ToString();
tvi.Header = dt.Rows[i]["FolderName"].ToString();
tvi.Items.Add("*");
if (i == dt.Rows.Count - 1)
{
fid = tvi.Tag.ToString();
BandFile();
}
myFolders.Items.Add(tvi);
}
}
private void tv_ChildLoad(TreeViewItem tvi)//展开子目录
{
string loginTemp = "Folderid=" + tvi.Tag.ToString();
DataTable dt = HtmlHelper.GetSOAPResult(loginTemp, "GetFolderChildList");
if (!tvi.Items.Contains("*"))
{
return;
}
tvi.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeViewItem tvis = new TreeViewItem();
tvis.Tag = dt.Rows[i]["FolderId"].ToString();
tvis.Header = dt.Rows[i]["FolderName"].ToString();
tvis.Items.Add("*");
tvi.Items.Add(tvis);
}
}