【发布时间】:2015-11-04 10:12:21
【问题描述】:
您好,我有一个名为 FileDirectoryModel 的模型,它包含:
public class FileDirectoryModel
{
public string imgPath { get; set; }
public string DirPath { get; set; }
public string FileName { get; set; }
public string size { get; set; }
public string FileType { get; set; }
public DateTime Modifed { get; set; }
public string FullName { get; set; }
}
我也有一个 ListView :
<ListView x:Name="lstExplorer"
Background="White"
ItemsSource="{Binding DirectoryCollection}"
SelectedItem="{Binding SelectedModel}"
>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding FileExplorerClickCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<ListView.View>
<GridView>
<GridViewColumn Header="Name"
Width="100">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding imgPath}"
Height="20"
Width="20"
Stretch="Fill"/>
<TextBlock x:Name="explorerText"
Text="{Binding FileName}">
</TextBlock>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="50">
<GridViewColumnHeader>
<TextBlock Text="Size" />
</GridViewColumnHeader>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding size}" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="100">
<GridViewColumnHeader>
<TextBlock Text="Type" />
</GridViewColumnHeader>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding FileType}" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="100">
<GridViewColumnHeader>
<TextBlock Text="Modifed" />
</GridViewColumnHeader>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Modifed}" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
而DirectoryCollection 是:
private ObservableCollection<FileDirectoryModel> _DirectoryCollection;
public ObservableCollection<FileDirectoryModel> DirectoryCollection
{
get { return _DirectoryCollection; }
set
{
if (_DirectoryCollection != value)
{
_DirectoryCollection = value;
OnPropertyChanged();
}
}
}
有一个 dubbleclick 命令可以打开选定的文件,但我很难弄清楚如何允许某人更改所选项目的名称。
请注意,我看到 File ListView, Change name 不适用,因为他们告诉的是如何更改文件名而不是如何让 xaml 允许更改。
【问题讨论】:
-
这可能会有所帮助....stackoverflow.com/questions/10207888/… 只需确保将事件句柄中的 mousedoubleclick 计数 arg 检查为 2
-
如何绑定以允许仅对选定记录进行编辑?
-
编辑是什么意思?像 datagrid 这样编辑字段吗?
-
不,名称字段是一个文本框,但我希望它被锁定,除了某些人之外没有人可以更改名称。
-
您想在列表框列中进行内联编辑吗?这样允许的人可以直接进行内联编辑。