Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WPF, Silverlight Новый топик    Ответить
 WPF Listview, не отображается иконка  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1716
+
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ListView" Height="350" Width="962.262"
        Loaded="Window_Loaded">
    <Grid>
        <ListView HorizontalAlignment="Left"
                  Height="299" Margin="10,8,0,0" VerticalAlignment="Top" Width="936"
                  Name="FileList" RenderTransformOrigin="0.5,0.5">
            <ListView.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform AngleY="-0.436"/>
                    <RotateTransform/>
                    <TranslateTransform Y="-1.889"/>
                </TransformGroup>
            </ListView.RenderTransform>
            <ListView.View>
                <GridView>
                      <GridViewColumn>
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <Image Width="32" Height="32" Source="{Binding ExeIcon}"/>
                                 
                                </StackPanel>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                    <GridViewColumn Header="Имя файла"
                                    DisplayMemberBinding="{Binding FileName}"
                                    Width="200"/>
                    <GridViewColumn Header="Командная строка"
                                    DisplayMemberBinding="{Binding Command}"
                                    Width="200"/>
                    <GridViewColumn Header="Путь к файлу"
                                    DisplayMemberBinding="{Binding Path}"
                                    Width="200"/>

                    <GridViewColumn Header="Тип автозакуска"
                                    DisplayMemberBinding="{Binding AutoRun}"
                                    Width="100"/>

                </GridView>
            </ListView.View>
        </ListView>
    </Grid>
</Window>


Почему не отображается иконка файла?
10 дек 19, 17:01    [22037137]     Ответить | Цитировать Сообщить модератору
 Re: WPF Listview, не отображается иконка  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21929
+
Eolt
автозакуска
Картинка с другого сайта.
10 дек 19, 17:09    [22037146]     Ответить | Цитировать Сообщить модератору
 Re: WPF Listview, не отображается иконка  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21929
ExeIcon - это стринг? Что там лежит
Если без байндинга просто напишешь путь - покажет?

Модератор: Тема перенесена из форума "WinForms, .Net Framework".


Сообщение было отредактировано: 10 дек 19, 17:11
10 дек 19, 17:10    [22037150]     Ответить | Цитировать Сообщить модератору
 Re: WPF Listview, не отображается иконка  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1716
В нем лежит тип Icon, читаю иконку из Exe файла. Может ListView из впф вообще не умеет отображать виндовые иконки?

   public static Icon GetIcon(string fileName)
        {
            try
            {
                ushort uicon;
                StringBuilder strB = new StringBuilder(260); 
                strB.Append(fileName);
                IntPtr handle = ExtractAssociatedIcon(IntPtr.Zero, strB, out uicon);
                return Icon.FromHandle(handle);
           
            }
            catch
            {
                return null;
            }
        }
10 дек 19, 17:21    [22037162]     Ответить | Цитировать Сообщить модератору
 Re: WPF Listview, не отображается иконка  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1716
Еще как мне отобразить энум?

                    <GridViewColumn Header="Тип автозапуска"
                                    DisplayMemberBinding="{Binding AutoRun}"
                                    Width="100"/>



    public enum TypeAutoRun
        {
            Unknown,
            Registry,
            StartMenu
        }
10 дек 19, 17:24    [22037166]     Ответить | Цитировать Сообщить модератору
 Re: WPF Listview, не отображается иконка  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6018
Eolt
В нем лежит тип Icon, читаю иконку из Exe файла. Может ListView из впф вообще не умеет отображать виндовые иконки?

А документацию почитать - не? Image.Source Property
И иконку отображает не ListView, а контрол Image внутри DataTemplate.
10 дек 19, 17:25    [22037168]     Ответить | Цитировать Сообщить модератору
 Re: WPF Listview, не отображается иконка  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1716
Попробовал вернуть Image, все равно ничего не показывает
10 дек 19, 17:37    [22037185]     Ответить | Цитировать Сообщить модератору
 Re: WPF Listview, не отображается иконка  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21929
https://www.codeproject.com/Articles/32059/WPF-Filename-To-Icon-Converter
10 дек 19, 17:43    [22037195]     Ответить | Цитировать Сообщить модератору
 Re: WPF Listview, не отображается иконка  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1716
Блин какой большой костыль... (( Больше чем сам мой проект.
10 дек 19, 17:54    [22037210]     Ответить | Цитировать Сообщить модератору
 Re: WPF Listview, не отображается иконка  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21929
Eolt
Блин какой большой костыль
Это не костыль, это неплохая коробочная реализация типового функционала
Ты можешь выдернуть оттуда только то, что тебе надо. Лично я воткнул его себе целиком и не заморачивался, хотя я показывал иконки только по именам файлов из БД, дерганье из exe и превью для картинок я не использовал.

Eolt
Больше чем сам мой проект.
Ну ты и от фреймворка дай бог 10% используешь, не жужжишь же.
10 дек 19, 18:06    [22037228]     Ответить | Цитировать Сообщить модератору
 Re: WPF Listview, не отображается иконка  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 4030
попробуйте передавать ImageSource
10 дек 19, 18:38    [22037255]     Ответить | Цитировать Сообщить модератору
Все форумы / WPF, Silverlight Ответить