دسته بندی ها
21:54 1398/07/13

عدم نمایش عکس در دیتاگرید ویو در wpf

مشخصات سوال کننده :
کاربر : rezajavaheri68     امتیاز کاربر : 0     رتبه کاربر : 7018
دسته بندی : سی شارپ

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3028
پاسخ دهنده : saedbfd 23:24 1398/07/26

سلام لطفا کدهای xaml خودتون رو قرار بدید تا مشخص بشه چه کدهایی نوشته شده

دقت کنید کدهایی که مربوط به ستون نمایش تصویر هست رو قرار بدید. کدها رو با استفاده از دکمه کد در ادیتور قرار بدید

 

به این پاسخ امتیاز بدهید    1
امتیاز: 1654 رتبه: 1
پاسخ دهنده : rezajavaheri68 23:24 1398/07/26
<DataGridTemplateColumn Header="تصویر">
                    <DataGridTemplateColumn.CellEditingTemplate>
                        <DataTemplate>
                            <Image Width="70" Height="70" Source="{Binding Studant_Image}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellEditingTemplate>
                    <DataGridTemplateColumn.HeaderStyle>
                        <Style TargetType="{x:Type DataGridColumnHeader}">
                            <Setter Property="FontFamily" Value="B titr"/>
                            <Setter Property="FontSize" Value="12"/>
                            <Setter Property="FontWeight" Value="Bold"/>
                            <Setter Property="BorderBrush" Value="Transparent"/>
                            <Setter Property="HorizontalAlignment" Value="Center"/>
                        </Style>
                    </DataGridTemplateColumn.HeaderStyle>
                </DataGridTemplateColumn>

 

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7018
پاسخ دهنده : Sowgandi 23:24 1398/07/26

با سلام. دوست گرامی مشکل شما به خاطر اینه که شما در خط دوم از کد CellEditingTemplate استفاده کردید. این یعنی اینکه شما زمانی تصویر رو میبینید که به حالت Edit سلول برید. برای حل این مشکل این قسمت را به CellTemplate تغییر دهید. یعنی در نهایت باید کد شما به صورت زیر باشد.

<DataGridTemplateColumn Header="تصویر">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <Image Width="70" Height="70" Source="{Binding Studant_Image}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                    <DataGridTemplateColumn.HeaderStyle>
                        <Style TargetType="{x:Type DataGridColumnHeader}">
                            <Setter Property="FontFamily" Value="B titr"/>
                            <Setter Property="FontSize" Value="12"/>
                            <Setter Property="FontWeight" Value="Bold"/>
                            <Setter Property="BorderBrush" Value="Transparent"/>
                            <Setter Property="HorizontalAlignment" Value="Center"/>
                        </Style>
                    </DataGridTemplateColumn.HeaderStyle>
                </DataGridTemplateColumn>

 

به این پاسخ امتیاز بدهید    1
امتیاز: 871 رتبه: 3
پاسخ دهنده : rezajavaheri68 23:24 1398/07/26

با سلام

کد خط دوم را به CellTemplate تغییر دادم ولی باز نمایش داده نمی شود.ممنون بابت راهنمایی .

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7018
پاسخ دهنده : Sowgandi 23:24 1398/07/26

دوست عزیر شما در قسمت بایند ستون Studant_Image رو نوشتید. چک بفرمایید که با نام تیبل یا ویوی شما مطابقت داشته باشه.

به این پاسخ امتیاز بدهید    2
امتیاز: 871 رتبه: 3
پاسخ دهنده : rezajavaheri68 23:24 1398/07/26

دقیقا از ویو کپی کردم اوردم

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7018
پاسخ دهنده : Sowgandi 23:24 1398/07/26

نوع فیلد دیتابیس رو چی قراد دادید؟ Picture یا binary ؟

باید Picture باشه.

در ضمن اگر از مدل داده ای استفاده میکنید. یکبار مدلتون رو آپدیت کنید شاید تغییرات دیتابیس تو مدل به روزرسانی نشده. بهترش اینه ویوی مورد نظرتونو از مدل داده ای پاک کنید و دوباره اضافه کنید.

 

به این پاسخ امتیاز بدهید    1
امتیاز: 871 رتبه: 3
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود