【发布时间】:2016-01-22 13:17:55
【问题描述】:
我有一个 MVVM 应用程序。我希望从 ViewModel 中表示一组按钮并且是动态的。 这意味着我想用 ViewModel 中的控件填充窗口。
我尝试创建一个内容控件并将其 Content 属性绑定到我将在其中放置按钮的 Grid。绑定不起作用,它仍然是空的。
我尝试将它绑定到一个简单的字符串,但仍然没有。我应该提到其他简单的绑定确实有效,所以这很奇怪。
UserControl的创建:
<TabControl HorizontalAlignment="Left" Height="696" Margin="429,0,0,32" VerticalAlignment="Bottom" Width="552" ItemsSource="{Binding TabCollection}">
<TabControl.Resources>
</TabControl.Resources>
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Header}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<cattab:CategoryTab/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>`
UserControl 中的绑定:
<ContentControl HorizontalAlignment="Left" Height="286" Margin="98,152,0,-396" VerticalAlignment="Top" Width="313">
<ContentControl Content="{Binding Favorites}" Margin="0,30,0,0" VerticalAlignment="Top"/>
</ContentControl>`
主视图模型:
//**** Initilize TabCollection with fake data (temporary)
TabCollection.Add(new CategoryTabViewModel { Header = "בדיקה11" });
TabCollection.Add(new CategoryTabViewModel { Header = "בדיקה2" });
用户控制视图模型:
public CategoryTabViewModel()
{
SearchText = "bbbaaaa";
Favorites.Add(new Button());
}
SearchText 的绑定有效,收藏夹则无效
【问题讨论】:
-
请向我们展示您的代码
-
我们还需要您的代码隐藏/ViewModel 代码
-
添加了更多代码
-
@TomerAgmon1:请不要在问题标题中使用标签。这就是标签的用途