2012-04-15 22 views
7

Ho questo codice in Thisaddin.csAperto WPF forma da un VSTO Componente aggiuntivo Outlook

public void Search(string input) 
{   
    ServerList listofservers = new ServerList();    
    listofservers.Visibility;      
} 

il ServerList è una semplice forma di WPF con casella di riepilogo questo è tutto, ma come visualizzare la listofservers?

non riesco a trovare il listofserver.show();

enter image description here

+5

WHAT è il tipo di 'ServerList'? Finestra/UserControl? – sll

+0

è il nome della finestra xaml – JackyBoi

+1

Che cos'è la classe base per ServerList? se è derivato dalla classe di base Window, è necessario ottenere la funzione Show –

risposta

13

Quindi prima di tutto non v'è alcuna voce chiamata WPF forma, v'è solo di controllo utente per WPF. Quindi una volta che il WPF UserControl viene creato nella XAML si nota che questo è il codice

<UserControl x:Class="SQL_openertak2.ServerList" 
      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" d:DesignHeight="454" d:DesignWidth="259" SizeToContent="WidthAndHeight"> 
    <Grid> 
     <ListBox Height="410" HorizontalAlignment="Left" Margin="12,12,0,0" Name="listBox1" VerticalAlignment="Top" Width="242" /> 
     <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="12,427,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" /> 
    </Grid> 
</UserControl> 

Così ho guardato attraverso il codice XAML. Quindi, come si può vedere che l'intera faccenda è UserControl bisogna cambiarlo in FINESTRA allora si sarà in grado di vedere il .Show()

Ma prendere atto che si hanno anche per cambiare il codice nei xaml.cs

causa che sarà così per difetto

public partial class ServerList : UserControl 

Change a

public partial class ServerList : Window 

bene per ovvi motivi !! :)

1

è anche possibile ospitare in un layout panel, come:

  1. Aprire Form1 nella Progettazione Windows Form.
  2. Nella casella degli strumenti, trascinare un controllo TableLayoutPanel su
  3. Nel pannello Smart tag del controllo TableLayoutPanel, selezionare Rimuovi ultima riga.
  4. Ridimensionare il controllo TableLayoutPanel su una larghezza e un'altezza maggiori.
  5. Nella casella degli strumenti, fare doppio clic su UserControl1 per creare un'istanza di UserControl1 nella prima cella del controllo TableLayoutPanel.
  6. L'istanza di UserControl1 è ospitata in un nuovo controllo ElementHost denominato elementHost1.
  7. Nella casella degli strumenti, fare doppio clic su UserControl1 per creare un'altra istanza nella seconda cella del controllo TableLayoutPanel.
  8. Nella finestra Struttura documento, selezionare tableLayoutPanel1. Per ulteriori informazioni, vedere Finestra Struttura del documento.
  9. Nella finestra Proprietà, impostare il valore della proprietà Padding su 10, 10, 10, 10.
  10. Entrambi i controlli ElementHost vengono ridimensionati per adattarsi al nuovo layout.
Problemi correlati