Je crée une application de Windows 8.1 en utilisant https://slideview.codeplex.com dans Windows 10 avec l'aide de Visual Studio 2015.Reliure ColumDefinition Largeur
J'ai ajouté la grille à la conception avec 1 ligne et deux colonnes. Dans la première page il y a une grande image et pas de texte et dans les autres pages il y a une icône et un texte. Donc je mets si 4 * dans la première colonne pour la première page et 2 * dans la première pour la deuxième page tout fonctionne bien mais je voulais le rendre dynamique dans ContentPresenter et ensuite je peux l'assigner de C#.
Veuillez nous aider.
J'ai essayé de manière différente comme je mets ci-dessous le code dans SlideApplicationFrame.cs
#region FirstColumnWidth (DependencyProperty)
/// <summary>
/// header Image First Column Width
/// </summary>
public GridLength FirstColumnWidth
{
get { return (GridLength)GetValue(FirstColumnWidthProperty); }
set { SetValue(FirstColumnWidthProperty, value); }
}
public static readonly DependencyProperty FirstColumnWidthProperty =
DependencyProperty.Register("FirstColumnWidth", typeof(GridLength), typeof(SlideApplicationFrame),
new PropertyMetadata(new GridLength(4, GridUnitType.Star)));
#endregion
#region ContentFirstColumnWidth (Attached DependencyProperty)
public static readonly DependencyProperty ContentFirstColumnWidth =
DependencyProperty.RegisterAttached("ContentFirstColumnWidth", typeof(GridLength), typeof(SlideApplicationFrame), new PropertyMetadata(new GridLength(4, GridUnitType.Star)));
public static void SetContentFirstColumnWidth(DependencyObject o, GridLength value)
{
o.SetValue(ContentFirstColumnWidth, value);
}
public static GridLength GetContentFirstColumnWidth(DependencyObject o)
{
return (GridLength)o.GetValue(ContentFirstColumnWidth);
}
#endregion
Puis-je utiliser dans mon ContentPresenter Vous aimez cette
<ContentPresenter library:SlideApplicationFrame.ContentFirstColumnWidth="{TemplateBinding FirstColumnWidth}" Grid.Column="1"/>
et à la fin dans le style poseur
<ColumnDefinition Width="{Binding library:SlideApplicationFrame.ContentFirstColumnWidth}"/>
Setter de style entier est comme ci-dessous
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<Grid x:Name="GridHeader">
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding library:SlideApplicationFrame.ContentFirstColumnWidth}"/>
<ColumnDefinition Width="5*"/>
</Grid.ColumnDefinitions>
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
et de la mise en MainPage.xaml.cs
SlideApplicationFrame RootFrame = Window.Current.Content as SlideApplicationFrame;
RootFrame.FirstColumnWidth = new GridLength(4, GridUnitType.Star);
S'il vous plaît aidez-moi, je serai très apprécié
Où que vous essayez de faire: ** Reliure Largeur ColumDefinition **? – kirotab
Je veux faire dans cette ligne . Juste besoin d'aide pour que je puisse faire le myselft –
Milind
Vous voulez dire que vous devez le lier à une certaine valeur du ViewModel (ou du code derrière) ou à la valeur d'un élément? – kirotab