1

この非常にアマチュアな質問で申し訳ありませんが、これを機能させることはできません。カスタム フォント ダイアログ ウィンドウを作成したい (それがどのように行われるかを学習するためだけに)。Google を使用して見つけたものから、表示したいウィンドウのインスタンスを作成し、Show() を呼び出す必要があります。または ShowDialog() メソッド。ただし、インテリセンスのポップアップには、そのようなメソッドが使用可能として表示されず、実際、コードはコンパイルされず、それらのメソッドが存在しないと不平を言います。私が欠けている本当に単純なものがありますか、それとも私はただ道を外れていますか?

Imports System.IO

Class MainWindow
    Public font_dialog As Window1 = New Window1

    // ... Removed code that was not pertinent

    Private Sub menu_font_Click(sender As System.Object, e As _
        System.Windows.RoutedEventArgs) Handles menu_font.Click
        // does not compile
        font_dialog.Show()
    End Sub
End Class

正確なエラーメッセージは次のとおりです。

エラー 1 'Show' は 'WpfApplication1.Window1' のメンバーではありません。C:\Users\notmyrealusername\documents\visual studio 2010\Projects\WpfApplication2\WpfApplication2\MainWindow.xaml.vb 24 9 WpfApplication2

Window1 の XAML:

<UserControl x:Class="Window1"
             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" Height="453" Width="600" DataContext="{Binding}">
    <Grid >
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="575*" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
        <TabControl Height="429" HorizontalAlignment="Left" Margin="12,12,0,0" Name="TabControl1" VerticalAlignment="Top" Width="576" Grid.ColumnSpan="2">
            <TabItem Header="Paramètres généraux" Name="TabItem1">
                <Grid>
                    <ComboBox Height="23" HorizontalAlignment="Left" Margin="53,14,0,0" Name="ComboBox1" VerticalAlignment="Top" Width="213" />
                    <Label Content="Police" Height="28" HorizontalAlignment="Left" Margin="6,14,0,0" Name="Label1" VerticalAlignment="Top" />
                    <Label Content="Styles" Height="28" HorizontalAlignment="Left" Margin="6,43,0,0" Name="Label2" VerticalAlignment="Top" />
                    <ListBox Height="100" HorizontalAlignment="Left" Margin="53,43,0,0" Name="ListBox1" VerticalAlignment="Top" Width="213" SelectionMode="Multiple" />
                </Grid>
            </TabItem>
        </TabControl>
    </Grid>
</UserControl>
4

2 に答える 2

3

Window1は、 Show メソッドを持つWindowから継承する必要があります。Visual Studio では、ウィンドウを追加するプロジェクトを右クリックし、[追加] -> [ウィンドウ] をクリックします。

于 2012-09-30T22:54:07.337 に答える
1

「表示」は「WpfApplication1.Window1」のメンバーではありません。

それはあなたWindow1が(有効な)ウィンドウではありません...

XAML の最初の行とコード ビハインドを投稿します。

また、おそらく ShowDialog() を呼び出したいと思うでしょうが、それは別の問題です。

于 2012-09-30T22:53:48.730 に答える