2012-01-22 15 views
2

私はWPFでアプリケーションを作成していますが、私はAwesomium WebControlでUserControlを持っています。AwesomiumがWindowsBase.dllでArgumentExceptionを発生する

このUserControlのコピーをメインウィンドウに追加する瞬間、WindowsBase.dllから「幅と高さが正である必要があります」というArgumentExceptionが表示されます。 @LukeWoodwardが要求されるように

<UserControl x:Class="ForumPost.ForumPost" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     mc:Ignorable="d" MinWidth="505" MinHeight="250" xmlns:my="http://schemas.awesomium.com/winfx"> 
<Grid Name="postGrid" Margin="5"> 
    <Grid.RowDefinitions> 
     <RowDefinition/> 
     <RowDefinition/> 
    </Grid.RowDefinitions> 

    <Grid Background="#3166A1"> 
     <Grid.RowDefinitions> 
      <RowDefinition MinHeight="150" /> 
     </Grid.RowDefinitions> 

     <Grid.ColumnDefinitions> 
      <ColumnDefinition MinWidth="150" /> 
      <ColumnDefinition MinWidth="100" /> 
      <ColumnDefinition MinWidth="125" /> 
      <ColumnDefinition MinWidth="125" /> 
     </Grid.ColumnDefinitions> 

     <Grid Height="150"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="25" /> 
       <RowDefinition Height="125" /> 
      </Grid.RowDefinitions> 

      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition MinWidth="20"/> 
        <ColumnDefinition/> 
       </Grid.ColumnDefinitions> 

       <Image Margin="0 0 5 0" Name="specialUserFlag"/> 

       <TextBlock TextAlignment="Center" FontWeight="Bold" FontSize="16" Foreground="White" Name="postUsername" Grid.Column="1"/> 
      </Grid> 

      <Image Grid.Row="1" MaxWidth="125" MaxHeight="125" Name="postAvatar" /> 
     </Grid> 

     <TextBlock Grid.Column="2" TextAlignment="Center" FontWeight="Bold" FontSize="16" Foreground="White" VerticalAlignment="Center" Name="postTimestamp" TextWrapping="Wrap" /> 

    </Grid> 
    <my:WebControl Grid.Row="1" Name="webBrowser"/> 
</Grid>  

そしてここでは、私のメインウィンドウです:私は、今までできました

<Window 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero" x:Class="Saxaphone.MainWindow" 
    Title="MainWindow" Height="850" Width="1600" 
    Icon="main.ico"> 

<Grid x:Name="MainGrid"> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
    </Grid.RowDefinitions> 

    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="305" /> 
     <ColumnDefinition MinWidth="1017" /> 
    </Grid.ColumnDefinitions> 

    <TreeView x:Name="ForumView" ScrollViewer.HorizontalScrollBarVisibility="Diforumbled" Style="{DynamicResource ForumViewStyle}" SelectedItemChanged="ForumView_SelectedItemChanged" /> 

    <Grid x:Name="forumGrid" Grid.Column="1"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="512" /> 
      <ColumnDefinition /> 
     </Grid.ColumnDefinitions> 

     <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Hidden" Grid.Column="0" Height="{Binding ActualHeight, ElementName=forumGrid}"> 
       <StackPanel x:Name="forumThreads"></StackPanel> 
     </ScrollViewer> 

     <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Auto" Grid.Column="1" Height="{Binding ActualHeight, ElementName=forumGrid}"> 
      <StackPanel x:Name="forumPosts"/> 
     </ScrollViewer> 
    </Grid> 
</Grid> 

+0

申し訳ありませんが、エラーが再現できませんでした。私はさらに、UserControlとWebControlの幅と高さを0に設定しようとしましたが、まだエラーは発生しませんでした。メインウィンドウのXAML(または少なくともエラーを再現するのに十分なもの)を追加してください。 –

+0

私はそれを加えました。私はコードでユーザーコントロールを作成し、2番目の 'StackPanel'に配置しています。 – Sinestro

答えて

3

ここ

は、そのユーザーコントロールです取得しているArgumentExceptionを再現してください。私はこれがAwesomiumのバグだと思う。 Awesomium Support http://support.awesomium.com/にお問い合わせいただくことをお勧めします。

次のXAMLがArgumentExceptionを再現するのに十分であることがわかりました。

<StackPanel> 
    <as:WebControl xmlns:as="http://schemas.awesomium.com/winfx" /> 
</StackPanel> 

私はWebControlに明示WidthHeightを設定することにより、この問題を回避することが可能であったことが判明:実行時に任意のユーザのコントロールも追加のコントロールの必要はありませんでした。 WebControlStackPanelの中にあるのが好きではないようです(WebControlWidthHeightのセットがあります。

0

この問題は認識しており、バージョン1.7の最終リリースで修正される予定です。

関連する問題