如果在GridView中选择了项目,如何启用按钮

穆罕默德·乌玛(Muhammad Umar)

选择网格视图项时,我想启用按钮,以便在Metro应用程序中更新我的GUI。该按钮也包含在列表视图项中。下面是我想做的代码片段。请帮忙。

<GridView Name="searchPanelGrid"  SelectionMode="Single" 
                                HorizontalAlignment="Left"
                                ScrollViewer.IsHorizontalScrollChainingEnabled="True"
                                ScrollViewer.IsVerticalScrollChainingEnabled ="True"
                                ScrollViewer.HorizontalScrollBarVisibility="Auto"
                                ScrollViewer.VerticalScrollBarVisibility="Auto"
                                ScrollViewer.HorizontalScrollMode="Enabled"
                                ScrollViewer.VerticalScrollMode="Enabled"
                                ItemsSource="{Binding Source={StaticResource CollectionItems}}" Grid.Row="2">
        <GridView.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapGrid Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </GridView.ItemsPanel>
        <GridView.ItemTemplate>
            <DataTemplate>
                <Grid Margin="6" Height="175" Width="150" Background="#FFFAFAFA">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="85"/>
                        <RowDefinition Height="50"/>
                        <RowDefinition Height="30"/>
                    </Grid.RowDefinitions>
                    <StackPanel Background="#FF0A56BF" Width="150" Height="85" Grid.Row="0">
                        <Image Source="{Binding Path=ThumnailUrl}" Stretch="UniformToFill" HorizontalAlignment="Left" VerticalAlignment="Top"/>
                    </StackPanel>
                    <TextBlock Text="{Binding Path=VideoName}" TextWrapping="Wrap" Foreground="#FF017DD5" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Top" Height="Auto" FontSize="12"/>
                    <Button x:Name="downloadButton" Grid.Row="3" Content="Download Video" HorizontalAlignment="Left" VerticalAlignment="Bottom" Style="{StaticResource DownloadButtonStyle}" Click="downloadButton_Click" IsEnabled="{Binding}" />
                </Grid>
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>

无法绑定按钮属性IsEnabled。任何建议,我怎么做?

穆罕默德·乌玛(Muhammad Umar)

我已经解决了这一点,方法是在我的类中声明一个属性,该属性将绑定collectionitems并将该属性绑定到按钮isenabled属性,然后在SelectionChangeEvent上,获取网格视图的选定项并将按钮isenabled属性值设置为true。它的工作。

XAML文件SearchPanel.xaml

<GridView Name="searchPanelGrid"  SelectionMode="Single" 
                                HorizontalAlignment="Left"
                                ScrollViewer.IsHorizontalScrollChainingEnabled="True"
                                ScrollViewer.IsVerticalScrollChainingEnabled ="True"
                                ScrollViewer.HorizontalScrollBarVisibility="Auto"
                                ScrollViewer.VerticalScrollBarVisibility="Auto"
                                ScrollViewer.HorizontalScrollMode="Enabled"
                                ScrollViewer.VerticalScrollMode="Enabled"
                                ItemsSource="{Binding Source={StaticResource CollectionItems}}" Grid.Row="2" SelectionChanged="searchPanelGrid_SelectionChanged">
        <GridView.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapGrid Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </GridView.ItemsPanel>
        <GridView.ItemTemplate>
            <DataTemplate>
                <Grid Margin="6" Height="175" Width="150" Background="#FFFAFAFA">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="85"/>
                        <RowDefinition Height="50"/>
                        <RowDefinition Height="30"/>
                    </Grid.RowDefinitions>
                    <StackPanel Background="#FF0A56BF" Width="150" Height="85" Grid.Row="0">
                        <Image Source="{Binding Path=ThumnailUrl}" Stretch="UniformToFill" HorizontalAlignment="Left" VerticalAlignment="Top"/>
                    </StackPanel>
                    <TextBlock Text="{Binding Path=VideoName}" TextWrapping="Wrap" Foreground="#FF017DD5" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Top" Height="Auto" FontSize="12"/>
                    <Button x:Name="downloadButton" Grid.Row="3" Content="Download Video" HorizontalAlignment="Left" VerticalAlignment="Bottom" Style="{StaticResource DownloadButtonStyle}" Click="downloadButton_Click" IsEnabled="{Binding IsSelected}" />
                </Grid>
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>

绑定到GridView的ItemsSource属性的类

public class VideoInfo : INotifyPropertyChanged
{
    private bool isSelected;
    public bool IsSelected
    {
        get { return isSelected; }
        set
        {
            isSelected = value;
            NotifyPropertyChanged("IsSelected");
        }
    }

    private string thumnailUrl;
    public string ThumnailUrl
    {
        get { return thumnailUrl; }
        set
        {
            thumnailUrl = value;
            NotifyPropertyChanged("ThumnailUrl");
        }
    }

    private string videoName;
    public string VideoName
    {
        get { return videoName; }
        set
        {
            videoName = value;
            NotifyPropertyChanged("VideoName");

        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    private void NotifyPropertyChanged(string info)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }
}

GridView的SelectionChangeEvent上的.cs文件SearchPanel.xaml.cs

private void searchPanelGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        MovieInfo info = (e.AddedItems[0]) as MovieInfo;
        info.IsSelected = true;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果在 Sonata Admin 中选择了单选按钮,如何禁用单选按钮

来自分类Dev

如果在BottomNavigationView中选择了项目,如何增加图标位置

来自分类Dev

如果在php中选择了一个单元格上的单选按钮,如何获取整行值

来自分类Dev

如果在选择框中选择了相关项目,则打开隐藏的div

来自分类Dev

如果在选择框中选择了相关项目,则打开隐藏的div

来自分类Dev

如果在PHP中选择了购物车中的更新项目

来自分类Dev

如果在日期选择器中选择日期,如何调用方法?

来自分类Dev

如果在表单中选中了单选按钮,如何使部分缩合

来自分类Dev

如果在SQL中选择XML节点的条件

来自分类Dev

如何选中用户需要的选择选项单选按钮是,如果在提交表单之前在jQuery或Javascript中选中“否”,则将其删除为必需项

来自分类Dev

SwiftUI:如果在ScrollView中滚动,则禁用按钮选择

来自分类Dev

如果在jsTree中选择了第(n-1)个节点,如何禁用第n个节点

来自分类Dev

如果在带w / HTML的JavaScript中选择了某个国家/地区,如何要求邮政编码为数字

来自分类Dev

SQL:如果在postgresql中重新参加考试,如何从学生表中选择通过行?

来自分类Dev

如果在选择字段中选择空白值,则无法保存。(宝石祖先)

来自分类Dev

如果在Inno Setup中未选择任何组件,如何禁用“下一步”按钮?

来自分类Dev

如果在AngularJS中单击按钮后未选择任何值,如何给出错误消息

来自分类Dev

对于Glass Mapper,如果在“常规链接”字段中选择了“内部链接”,则Glass Mapper使用项目名称作为链接文本

来自分类Dev

如果在 VBA 的另一个下拉框中选择,则从下拉框中删除项目

来自分类Dev

如果在TableView JavaFx中选择了多行,则禁用某些上下文菜单项

来自分类Dev

如果在Java中选择了JComboBox中的某个项,是否可以删除JTextFiled?

来自分类Dev

如果在树状视图中选中了任何单个子节点,则选择父节点

来自分类Dev

如果在TableView JavaFx中选择了多行,则禁用某些上下文菜单项

来自分类Dev

C#如果在组合框winform中选择了某些文本

来自分类Dev

如果在安装指南中选择“与archlinux一起安装Ubuntu”会怎样?

来自分类Dev

如果在选择后未选择角度单选按钮组,则将其设置为false

来自分类Dev

如果在输入语句上选择

来自分类Dev

如果在下拉列表中未选择任何内容,则禁用按钮

来自分类Dev

如果在“ bash” shell中找不到命令(“您的意思是……”功能),如何启用建议?

Related 相关文章

  1. 1

    如果在 Sonata Admin 中选择了单选按钮,如何禁用单选按钮

  2. 2

    如果在BottomNavigationView中选择了项目,如何增加图标位置

  3. 3

    如果在php中选择了一个单元格上的单选按钮,如何获取整行值

  4. 4

    如果在选择框中选择了相关项目,则打开隐藏的div

  5. 5

    如果在选择框中选择了相关项目,则打开隐藏的div

  6. 6

    如果在PHP中选择了购物车中的更新项目

  7. 7

    如果在日期选择器中选择日期,如何调用方法?

  8. 8

    如果在表单中选中了单选按钮,如何使部分缩合

  9. 9

    如果在SQL中选择XML节点的条件

  10. 10

    如何选中用户需要的选择选项单选按钮是,如果在提交表单之前在jQuery或Javascript中选中“否”,则将其删除为必需项

  11. 11

    SwiftUI:如果在ScrollView中滚动,则禁用按钮选择

  12. 12

    如果在jsTree中选择了第(n-1)个节点,如何禁用第n个节点

  13. 13

    如果在带w / HTML的JavaScript中选择了某个国家/地区,如何要求邮政编码为数字

  14. 14

    SQL:如果在postgresql中重新参加考试,如何从学生表中选择通过行?

  15. 15

    如果在选择字段中选择空白值,则无法保存。(宝石祖先)

  16. 16

    如果在Inno Setup中未选择任何组件,如何禁用“下一步”按钮?

  17. 17

    如果在AngularJS中单击按钮后未选择任何值,如何给出错误消息

  18. 18

    对于Glass Mapper,如果在“常规链接”字段中选择了“内部链接”,则Glass Mapper使用项目名称作为链接文本

  19. 19

    如果在 VBA 的另一个下拉框中选择,则从下拉框中删除项目

  20. 20

    如果在TableView JavaFx中选择了多行,则禁用某些上下文菜单项

  21. 21

    如果在Java中选择了JComboBox中的某个项,是否可以删除JTextFiled?

  22. 22

    如果在树状视图中选中了任何单个子节点,则选择父节点

  23. 23

    如果在TableView JavaFx中选择了多行,则禁用某些上下文菜单项

  24. 24

    C#如果在组合框winform中选择了某些文本

  25. 25

    如果在安装指南中选择“与archlinux一起安装Ubuntu”会怎样?

  26. 26

    如果在选择后未选择角度单选按钮组,则将其设置为false

  27. 27

    如果在输入语句上选择

  28. 28

    如果在下拉列表中未选择任何内容,则禁用按钮

  29. 29

    如果在“ bash” shell中找不到命令(“您的意思是……”功能),如何启用建议?

热门标签

归档