DataGridColumn.IsFrozen DataGridColumn.IsFrozen DataGridColumn.IsFrozen DataGridColumn.IsFrozen Property

Definition

Ruft einen Wert ab, der angibt, ob horizontale Bildläufe in der Spalte verhindert werden.Gets a value that indicates whether the column is prevented from scrolling horizontally.

public:
 property bool IsFrozen { bool get(); };
public bool IsFrozen { get; }
member this.IsFrozen : bool
Public ReadOnly Property IsFrozen As Boolean

Eigenschaftswert

true, wenn in der Spalte keine horizontalen Bildläufe ausgeführt werden können, andernfalls false.true if the column cannot be scrolled horizontally; otherwise, false. Der registrierte Standardwert ist false.The registered default is false. Weitere Informationen zu Einflüssen auf diesen Wert finden Sie unter DependencyProperty.For information about what can influence the value, see DependencyProperty.

Beispiele

Im folgenden Beispiel wird gezeigt, wie eine Spalte fixiert wird, wenn "Spalte fixieren" aus ContextMenudem ausgewählt wird.The following example shows how to freeze a column when "Freeze Column" is selected from the ContextMenu. Die Spalten werden nach links verschoben, damit Sie in die fixierten Spalten eingeschlossen werden können.Columns are moved to the left in order to be included in the frozen columns.

<!--Defines the handlers for when the FreezeColumnCommand is executed-->
<Window.CommandBindings>
    <CommandBinding Command="{x:Static local:Window1.FreezeColumnCommand}" Executed="CommandBinding_Executed" />
</Window.CommandBindings>
<!--Defines the context menu for the ColumnHeaders and attaches the FreezeColumnCommand-->
<Window.Resources>
    <ContextMenu x:Key="ColumnHeaderMenu" IsEnabled="True"  >
        <MenuItem Header="Freeze Column" IsEnabled="True" Command="{x:Static local:Window1.FreezeColumnCommand}"
                  CommandTarget="{Binding RelativeSource={RelativeSource AncestorType=Popup}, Path=PlacementTarget}" 
                  CommandParameter="{Binding ElementName=DG1, Path=CurrentColumn.DisplayIndex}" />
    </ContextMenu>
</Window.Resources>

<Grid>
    <!--Creates a new DataGrid with a context menu for the column headers-->
    <DataGrid Name="DG1" ItemsSource="{Binding}"  >
        <DataGrid.ColumnHeaderStyle >
            <Style TargetType="DataGridColumnHeader">
                <Setter Property="ContextMenu" Value="{StaticResource ColumnHeaderMenu}" />
            </Style>
        </DataGrid.ColumnHeaderStyle>
    </DataGrid>
</Grid>
public partial class Window1 : Window
{
    
    public static RoutedUICommand FreezeColumnCommand = new RoutedUICommand();

    

    public Window1()
    {
        InitializeComponent();
        //GetData connects to the database and returns the data in a table.
        AdventureWorksLT2008DataSet.SalesOrderDetailDataTable dt = GetData();

        DG1.DataContext = dt;
    }
Class Window1
    Public Shared FreezeColumnCommand As New RoutedUICommand()

    Public Sub New()
        InitializeComponent()

        'GetData connects to the database and returns the data in a table.
        Dim dt As AdventureWorksLT2008DataSet.SalesOrderDetailDataTable = GetData()

        DG1.DataContext = dt
    End Sub
    private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
    {
       //Get the column header that started the command and move that column left to freeze it.
       System.Windows.Controls.Primitives.DataGridColumnHeader header = (System.Windows.Controls.Primitives.DataGridColumnHeader)e.OriginalSource;
       if (header.Column.IsFrozen ==true)
       {
           return;
       }
       else
       {
           header.Column.DisplayIndex = DG1.FrozenColumnCount;
           DG1.FrozenColumnCount++;
       }


    }
 
}
Private Sub CommandBinding_Executed(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
    'Get the column header that started the command and move that column left to freeze it.
    Dim header As System.Windows.Controls.Primitives.DataGridColumnHeader = DirectCast(e.OriginalSource, System.Windows.Controls.Primitives.DataGridColumnHeader)
    If header.Column.IsFrozen = True Then
        Exit Sub
    Else
        header.Column.DisplayIndex = DG1.FrozenColumnCount
        DG1.FrozenColumnCount += 1


    End If
End Sub

Hinweise

IsFrozenkann nicht verwendet werden, um eine Spalte zu fixieren.IsFrozen cannot be used to freeze a column. Legen Sie stattdessen die FrozenColumnCount -Eigenschaft fest.Instead, set the FrozenColumnCount property. Die am weitesten links stehenden Spalten bis zu der Spalte, die durch die FrozenColumnCount Zahl angegeben wird, werden an Ort und Stelle fixiert.The leftmost columns up to the column that is specified by the FrozenColumnCount number will freeze in place.

Gilt für:

Siehe auch