有没有人有想法,如何创建可折叠的ListView?
例如,我有一个带有列的ListView:名称,年龄,县
和以下条目:
+ Max | 20 | Switzerland
+ Joe | 25 | Germany
+ Bob | 30 | Italy
当我点击+时,我希望ListView像这样崩溃:
- Max | 20 | Switzerland
Lastname: Eastwood
Phone: 0041 11 222 33 44
+ Joe | 25 | Germany
+ Bob | 30 | Italy
感谢您的帮助和想法!
PS:在我的情况下,我将有两种不同类型的信息,取决于"人物"对象,
例如
- 有些人会告诉我姓氏+电话号码
- 而其他人我会看到Job + Employer ..我猜某种数据触发器可以实现吗?
编辑:
我编写了以下代码:
<ListView ItemsSource="{Binding Path=DisplayedListe, Mode=OneWay}"
VirtualizingStackPanel.IsVirtualizing="True"
IsSynchronizedWithCurrentItem="True"
Sorter:ListViewSorter.IsListviewSortable="True"
Name="mainListView"
>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ToggleButton …Run Code Online (Sandbox Code Playgroud) 我正在研究我的第一个WP7应用程序,这个问题让我有点头疼.
我有一个像这样定义的ListBox
<ListBox Grid.Row="1" ItemsSource="{Binding MyItemList}" SelectedItem="{Binding MySelectedItem}">
<ListBox.ItemTemplate>
<DataTemplate >
<StackPanel>
<TextBlock Text="{Binding Name}" FontSize="35" />
<TextBlock Text="{Binding Details}" FontSize="15"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
绑定ItemsSource工作正常,但选择项目时MySelectedItem-Property不会更新.这个功能没有实现(比如在WPF中)或我只是在做什么?:-)
我想从ModelChoiceField访问所选项目,类似于:
forms.py
class ManageFeedsForms(forms.Form):
active_feed = forms.ModelChoiceField(queryset=Feed.objects.all(),
empty_label=None,
widget=forms.Select(attrs={'onchange': 'this.form.submit();'}),
)
def __init__(self, *args, **kwargs):
super(ManageFeedsForms, self).__init__(*args, **kwargs)
self.fields['active_feed'].label = ''
Run Code Online (Sandbox Code Playgroud)
Template.html
{% for entry in feed_form.active_feed.selected_item.entry_list %}
<tr>
<td>{{ entry.title }}</td>
<td>{{ entry.date }}</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
views.py(非常基本,仅供测试)
def overview(request):
if request.GET:
form = ManageFeedsForms(request.GET)
if form.is_valid():
pass
else:
pass
else:
# Empty ManageFeedsForms
form = ManageFeedsForms()
return render_to_response('feed_management/home.html',
{'header_title': 'Feeds',
'feed_form' : form,
},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
我正在寻找像'.selected_item'这样的东西,所以我可以访问模型的属性.
谢谢你的帮助!
我正在尝试将一些UserControl-Infos保存到List中,如下所示:
List<UserControlDetails> myList;
public UserControlDetails
{
string Description { get; set; }
Type UserControlType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我在ListView中显示此List,我希望能够启动我的UserControl,例如通过SelectedItem属性,如
//SelectedItem.UserControlType = MyMainViewModel;
var tmp = new SelectedItem.UserControlType(); //This will return a new instance of MainViewModel
Run Code Online (Sandbox Code Playgroud)
任何想法如何做到这一点?还是其他想法?
非常感谢!
干杯
编辑:感谢一堆回应.另一个问题:如何将"MaiNViewModel"的类型保存到类型变量中?我收到"类名无效"错误
EDIT2:知道了,它是typeof().我现在将尝试这些方法并尽快报告