标签: selecteditemtemplate

以编程方式在Asp.Net ListView中选择项目

快速搜索后,我找不到这个看似简单的事情的答案.

如何在Asp.Net ListView中手动选择项?

我有一个SelectedItemTemplate,但我不想使用asp:button或asp:LinkBut​​ton来选择一个项目.我希望它可以通过URL完成.例如,像QueryString一样.

我想象的方式是在ItemDataBound上,检查条件,然后将其设置为selected,如果为true,但我该怎么做?

例如:

protected void lv_ItemDataBound(object sender, ListViewItemEventArgs e) {

  using (ListViewDataItem dataItem = (ListViewDataItem)e.Item) {

     if (dataItem != null) {
        if( /* item select condition */ ) {   

            // What do I do here to Set this Item to be Selected?
            // edit: Here's the solution I'm using :
            ((ListView)sender).SelectedIndex = dataItem.DisplayIndex;

            // Note, I get here and it gets set
            // but the SelectedItemTemplate isn't applied!!!

        }
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

我确定这是一行或两行代码.

编辑:我已经更新了代码以反映解决方案,似乎我可以选择ListView的SelectedItemIndex,但是,它实际上并没有呈现SelectedItemTemplate.我不知道我是否应该在ItemDataBound事件中执行此操作,如下所示.

c# asp.net listview listviewitem selecteditemtemplate

6
推荐指数
2
解决办法
4万
查看次数

更改列表框中selecteditem的样式

我有一个ScrollViewer:

<ScrollViewer Width="160" 
              VerticalScrollBarVisibility="Auto" 
              HorizontalScrollBarVisibility="Hidden" 
              Height="324" Canvas.Top="0" 
              BorderThickness="0" Padding="0">
   <ListBox x:Name="Snapshots" SelectionChanged="Snapshots_SelectionChanged" 
            Padding="0" Background="#FFF0F0F0" 
            BorderBrush="{x:Null}" VerticalAlignment="Top" 
            SelectionMode="Single">
      <ItemsControl.ItemTemplate>
         <DataTemplate>
            <Image Source="{Binding imageSource}" 
                   Margin="5" Stretch="UniformToFill" 
                   Width="120" Opacity="0.2"/>
         </DataTemplate>
      </ItemsControl.ItemTemplate>
      <ItemsControl.ItemsPanel>
         <ItemsPanelTemplate>
            <StackPanel Orientation="Vertical"  
                        VerticalAlignment="Top"  HorizontalAlignment="Center"/>
         </ItemsPanelTemplate>
      </ItemsControl.ItemsPanel>
   </ListBox>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

我该如何实现这些功能:

  1. 更改所选项目的不透明度(图像).
  2. 更改所选项目的默认边框样式(图像).

silverlight listbox visualstatemanager selecteditemtemplate

3
推荐指数
1
解决办法
6398
查看次数