首先,要先了解的是,WPF與Windows表單是不同的架構,所以在WPF表單中使用Windows控制項的時候,有些效果會無法控制,像是可見的 WindowsFormsHost 項目一定是在其他 WPF 項目的上層,而且不會受到疊置順序影響、不支援旋轉等等。
若是你一定需要在WPF表單中嵌入Windows控制項,甚至是動態建立Windows控制項操作的話,請參考下面步驟:
1. 在WPF專案中,透過[加入參考]方式,參考WindowsFormsIntegration.dll、System.Windows.Forms.dll 兩個組件。
2. 在XAML的<Window>標籤中,加入下面的命名空間宣告:
xmlns:wf = "clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" |
3. 在WPF表單要顯示Windows控制項的位置,加入WindowsFormsHost控制項,然後就可以加入Windows控制項:
<WindowsFormsHost Margin="12,52,66,110" Name="windowsFormsHos2"> |
4. 若是希望可以透過程式進行動態配置控制項動作的話,就必須在WindowsFormsHost控制項中加入FlowLayoutPanel或是TableLayoutPanel,參考下面的XAML樣式:
<WindowsFormsHost Margin="12,52,66,110" Name="windowsFormsHost1"> |
接下來,就可以在程式中,動態加入Windows控制項了!!
private void button1_Click(object sender, RoutedEventArgs e) |
沒有留言:
張貼留言