Silverlight grille automatique de la largeur et de la hauteur
Silverlight vierge ici. Comment puis-je faire l'objet usercontrol entourant ma grille de redimensionner automatiquement pour accueillir la largeur de la grille à l'intérieur? Actuellement, le contrôle usercontrol est l'affichage à environ 300 ou 400 pixels lorsque la fenêtre du navigateur est beaucoup plus large. Il rend à la fois verticale et horizontale, barres de défilement autour de la grille de données qui est laid. Je veux régler le contrôle de la largeur "100%", mais cela ne semble pas être pris en charge. Ce qui me manque?
Voici mon code xaml:
<UserControl x:Class="RichMedia.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data">
<Grid x:Name="LayoutRoot" Background="White">
<data:DataGrid Name="dataGrid1" AutoGenerateColumns="False"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
DataContext="{Binding}" />
</Grid>
</UserControl>
EDIT: j'ajoute que je suis en utilisant les conteneurs par défaut dans Visual Studio 2010 créé lors de l'ajout d'une application silverlight pour un Projet d'Application Web existant.
Ci-dessous est le balisage de la page d'hébergement:
<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
...
<style type="text/css">
html, body { height: 100%; overflow: hidden; }
body { padding: 0; margin: 0; }
html, body { height: 100%; overflow: hidden; }
#silverlightControlHost { height: 100%; text-align:center; }
</style>
<script type="text/javascript" src="Scripts/Silverlight.js"></script>
...
</head>
<body>
<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/RichMedia.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40818.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none"><img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/></a>
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
</body>
</html>
OriginalL'auteur grenade | 2009-11-30
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de place Width:100% et la Hauteur:100% dans le style de l'objet dans la balise HTML. Vous devez également vous assurer de l'élément conteneur (probablement le corps) a la hauteur de la vue du port. Ceci est fait en assurant le style "height:100%; overflow:hidden;" est sur la balise html et la balise body. Mettre margin:0px sur le corps et le lieu de l'attribut de défilement="no" sur le corps pour faire bonne mesure. Maintenant, votre contrôle Silverlight possède et de tailles pour les navigateurs client de la fenêtre.
Également supprimer l'Width="Auto" et Height="Auto" de l'objet UserControl.
Il s'est avéré que ma " HorizontalAlignment="Stretch" VerticalAlignment="Stretch" " a été à l'origine du problème. Quand je remved ces attributs à partir de la data:DataGrid élément de la grille occupé tout l'espace disponible.
OriginalL'auteur AnthonyWJones