2012-04-15 12 views
7

tengo este código en Thisaddin.csforma abierta WPF desde una perspectiva complemento de VSTO

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

la ServerList es un simple formulario de WPF con el cuadro de lista, pero eso es todo cómo mostrar el listofservers?

No puedo encontrar la listofserver.show();

enter image description here

+5

¿Qué tipo de 'ServerList'? Ventana/UserControl? – sll

+0

es el nombre de la ventana xaml – JackyBoi

+1

¿Qué es la clase base para ServerList? si se deriva de la clase base de la ventana, debe obtener la función Mostrar –

Respuesta

13

Así que en primer lugar no hay ningún elemento denominado Formulario WPF, sólo hay control de usuario para WPF. Así que una vez que se crea el control de usuario de WPF XAML en la nota que este es el código

<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> 

por lo que he visto a través del código XAML. Así como se puede ver que todo el asunto es Usercontrol hay que cambiarlo a VENTANA entonces usted será capaz de ver la .Show()

Pero tome en cuenta que también hay que cambiar el código en los xaml.cs

causa que será como esto por defecto

public partial class ServerList : UserControl 

cambiarlo a

public partial class ServerList : Window 

bien por razones obvias !! :)

1

También puede alojar en un layout panel, como:

  1. Abrir Form1 en el Diseñador de Windows Forms.
  2. En la Caja de herramientas, arrastre un control TableLayoutPanel al
  3. En el panel de etiquetas inteligentes del control TableLayoutPanel, seleccione Eliminar última fila.
  4. Cambie el tamaño del control TableLayoutPanel a un ancho y alto más grandes.
  5. En la Caja de herramientas, haga doble clic en UserControl1 para crear una instancia de UserControl1 en la primera celda del control TableLayoutPanel.
  6. La instancia de UserControl1 está alojada en un nuevo control ElementHost llamado elementHost1.
  7. En la Caja de herramientas, haga doble clic en UserControl1 para crear otra instancia en la segunda celda del control TableLayoutPanel.
  8. En la ventana del esquema del documento, seleccione tableLayoutPanel1. Para obtener más información, vea Ventana del esquema del documento.
  9. En la ventana Propiedades, establezca el valor de la propiedad Relleno en 10, 10, 10, 10.
  10. Ambos controles ElementHost se cambian de tamaño para adaptarse al nuevo diseño.
Cuestiones relacionadas