Usuário com melhor resposta
Como inserir um DataGridView ou qualquer outro controle WinForm em um projeto WPF?

Pergunta
-
Olá amigos,
já li e reli dezenas de vezes estes artigos abaixo.... tentei seguir o passo a passo que está escrito neles... mas não está funcionando. Eu quero inserir um DataGridView dentro de um projeto WPF..
já adicionei as referências
copio o código xaml que eles usam como exemplo...
coloquei um WindowsFormsHost
mas sempre dá algum erro, dos mais variados
http://www.c-sharpcorner.com/UploadFile/yougerthen/608092008101923AM/6.aspx
http://www.c-sharpcorner.com/UploadFile/mahesh/WinF2WPF06192008213220PM/WinF2WPF.aspx
http://msdn.microsoft.com/pt-br/library/dd448660.aspx#Y2077
http://www.switchonthecode.com/tutorials/wpf-tutorial-using-winforms-in-wpf
Respostas
-
O lugar é esse mesmo, mas a linha tem um espaço a mais: tire o espaço após o ';':
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Bruno
MVP Client Development - http://msmvps.com/blogs/bsonnino- Marcado como Resposta BladeRunner2019 sábado, 14 de maio de 2011 21:44
Todas as Respostas
-
Você tentou usar a DataGrid do WPF? Ela pode te ajudar.
A DataGridView é um controle complexo, e você não explicou que tipo de erros está tendo. Dê uma olhada no meu vídeo para o MSDN: http://msdn.microsoft.com/pt-br/netframework/video/gg675274
Se não der certo, deve haver algo mais que você está tentando usar que não se integra ao WPF. Poste um erro mais específico para que possamos ver o que há.
Bruno
MVP Client Development - http://msmvps.com/blogs/bsonnino -
Bruno, obrigado pelas dicas.Eu estou começando a migrar do Winforms para WPF. "Migrar" acho que não é bem o termo, e sim aprender algo novo e tirar proveito dos dois.Eu programo em VB .NET e quero passar aos poucos este programa para WPF.Olhei seu vídeo, e também este teu artigo: http://msdn.microsoft.com/pt-br/library/dd448660.aspx#Y1108Não estou conseguindo aplicar a parte "Podemos então colocar nosso controle WinForms dentro do WindowsFormsHost. Antes de fazer isso, devemos declarar o namespace onde está o controle, em nosso código XAML. Abaixo do último namespace declarado no XAML, coloque o seguinte código:
xmlns:wf="clr-namespace:System.Windows.Forms;
assembly=System.Windows.Forms" "Não entendi onde é o "abaixo do último namespace". Eu tentei das duas formas abaixo, mas nas duas dá este erro: Error 1 Unknown build error, ''clr-namespace:System.Windows.Forms; assembly=System.Windows.Forms' mapping URI is not valid. Line Position .' C:\Users\Lazie\Desktop\MemoNotes WPF\MemoNotes\MemoNotes\MainWindow.xaml 4 5 MemoNotes
<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:wf="clr-namespace:System.Windows.Forms; assembly=System.Windows.Forms" Title="MainWindow" Height="489" Width="652"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="3*"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <ListBox x:Name="listBox1" Grid.Row="1" Margin="5" /> <my:WindowsFormsHost Grid.ColumnSpan="2" Margin="5" Name="windowsFormsHost1" xmlns:my="clr-namespace:System.Windows.Forms.Integration; assembly=WindowsFormsIntegration"> <wf:PropertyGrid BackColor="LightGray" PropertySort="Alphabetical" Dock="Fill" Text="Propriedades"/> </my:WindowsFormsHost> </Grid> </Window>
<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="489" Width="652"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="3*"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <ListBox x:Name="listBox1" Grid.Row="1" Margin="5" /> <my:WindowsFormsHost Grid.ColumnSpan="2" Margin="5" Name="windowsFormsHost1" xmlns:my="clr-namespace:System.Windows.Forms.Integration; assembly=WindowsFormsIntegration" xmlns:wf="clr-namespace:System.Windows.Forms; assembly=System.Windows.Forms"> <wf:PropertyGrid BackColor="LightGray" PropertySort="Alphabetical" Dock="Fill" Text="Propriedades"/> </my:WindowsFormsHost> </Grid> </Window>
-
O lugar é esse mesmo, mas a linha tem um espaço a mais: tire o espaço após o ';':
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Bruno
MVP Client Development - http://msmvps.com/blogs/bsonnino- Marcado como Resposta BladeRunner2019 sábado, 14 de maio de 2011 21:44
-