مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mehrang

عضویت از 1393/05/09

مشکل در سفارشی کردن کنترل دیتا گرید

  • پنجشنبه 11 آبان 1396
  • 20:36
تشکر میکنم


سعی داشتم که یک کنترل سفارشی شده دیتاگرید بسازم اما با مشکل مواجه شدم. مشکلم هم اینه که ستون ها و سطر ها نمایش داده نمی شوند.frown

<public class DataGridControl : DataGrid
    {
        static DataGridControl()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(Da  taGridControl), new FrameworkPropertyMetadata(typeof(DataGridControl))  );
        }
    }

<Style TargetType="{x:Type CustomControl:DataGridControl}">

        <Setter Property="RowHeaderStyle">
            <Setter.Value>
                <Style TargetType="{x:Type DataGridRowHeader}">
                    <Setter Property="Background" Value="White" />
                </Style>
            </Setter.Value>
        </Setter>

        <Setter Property="CellStyle">
            <Setter.Value>
                <Style TargetType="{x:Type DataGridCell}">
                    <Style.Triggers>
                        <Trigger Property="IsSelected" Value="True">
                            <Setter Property="BorderThickness" Value="0" />
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </Setter.Value>
        </Setter>

        <Setter Property="RowStyle">
            <Setter.Value>
                <Style TargetType="{x:Type DataGridRowHeader}">
                    <Setter Property="Background" Value="White" />
                </Style>
            </Setter.Value>
        </Setter>

        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type CustomControl:DataGridControl}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>




و اینطوری هم استفاده کردم.

xmlns:CustomControl="clr-namespace:Plugins.CustomControl

<CustomControl:DataGridControl x:Name="DG" Grid.Row="1"  Grid.RowSpan="2">
                   <DataGrid.Columns>
                <DataGridTextColumn Header="Story" Binding="{Binding Story}" Width="auto"/>
                <DataGridTextColumn Header="Diaphragm" Binding="{Binding ...}" Width="auto"/>
                <DataGridTextColumn Header="Load Case" Binding="{Binding ...}" Width="auto"/>
                <DataGridTextColumn Header="Ux (CM)" Binding="{Binding .., Converter={StaticResource decimalPrecisionConverter}}" Width="auto"/>
                <DataGridTextColumn Header="Uy (CM)" Binding="{Binding ..., Converter={StaticResource decimalPrecisionConverter}}" Width="auto"/>
                <DataGridTextColumn Header="Point" Binding="{Binding Point}" Width="auto"/>
                <DataGridTextColumn Header="X (CM)" Binding="{Binding X, Converter={StaticResource decimalPrecisionConverter}}" Width="auto"/>
                <DataGridTextColumn Header="Y (CM)" Binding="{Binding Y, Converter={StaticResource decimalPrecisionConverter}}" Width="auto"/>
                <DataGridTextColumn Header="Z (CM)" Binding="{Binding Z, Converter={StaticResource decimalPrecisionConverter}}" Width="auto"/>
                <DataGridTextColumn Header="Drift(X)" Binding="{Binding ..., Converter={StaticResource decimalPrecisionConverter}}" Width="auto"/>
                <DataGridTextColumn Header="Drift(Y)" Binding="{Binding ..., Converter={StaticResource decimalPrecisionConverter}}" Width="auto"/>
            </DataGrid.Columns>

        </CustomControl:DataGridControl>



اما نمایشش در ویژوال استودیو اینطوریه:


در زمان اجرا هم همینطوریه.
itemsource را پر هم می کنم. خطا نمیده اما نمایش نمیده.(با دیتاگرید عادی کاملا برنامه درسته)

آیا نکته خاصی داره که انجام ندادم؟

ممنون میشم راهنمایی کنید

پاسخ های این پرسش

تعداد پاسخ ها : 0 پاسخ
در حال حاضر هیچ پاسخی ارسال نشده است
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)