我们正在接近取代我们的几台开发者PC,并希望升级到64位以最大限度地提高PC的硬件/寿命,但我们还需要支持几种传统的VB6应用程序.也就是说,微软称它不受支持,但这并不一定意味着它不起作用.但是,只要功能正常,支持对于死工具并不重要.
我刚刚开始尝试使用WPF模板和样式,我不确定我做错了什么.下面的目标是交替菜单中选项的颜色.代码可以正常工作,但是当我为"MenuChoiceOdd"的第二段复制并粘贴/重命名时,我收到以下错误:
>在'System.Windows.Baml2006.TypeConverterMarkupExtension'上提供值引发异常.
代码示例:
<Window x:Class="WpfApplication1.Template_Testing"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Template_Testing" Height="300" Width="300">
<Grid>
<Grid.Resources>
<ControlTemplate x:Key="MenuChoiceEven">
<Border BorderThickness="1" BorderBrush="#FF4A5D80">
<TextBlock Height="Auto" HorizontalAlignment="Stretch" Margin="0" Width="Auto" FontSize="14" Foreground="SlateGray" TextAlignment="Left" AllowDrop="True" Text="{Binding Path=Content, RelativeSource={RelativeSource TemplatedParent}}">
<TextBlock.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="White" Offset="0" />
<GradientStop Color="#FFC2CCDB" Offset="1" />
</LinearGradientBrush>
</TextBlock.Background>
</TextBlock>
</Border>
</ControlTemplate>
<ControlTemplate x:Key="MenuChoiceOdd">
<Border BorderThickness="1" BorderBrush="#FF4A5D80">
<TextBlock Height="Auto" HorizontalAlignment="Stretch" Margin="0" Width="Auto" FontSize="14" Foreground="SlateGray" TextAlignment="Left" AllowDrop="True" Text="{Binding Path=Content, RelativeSource={RelativeSource TemplatedParent}}">
<TextBlock.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="White" Offset="0" />
<GradientStop Color="##FFCBCBCB" Offset="1" />
</LinearGradientBrush>
</TextBlock.Background>
</TextBlock> …Run Code Online (Sandbox Code Playgroud) 我目前正在探索使用C#将一些旧的VB6应用程序移植到WPF的选项.第一阶段的计划是移植几个关键形式而不是所有应用程序.理论上的目标是通过ActiveX dll在WPF中的某种容器中打开VB6表单.
这甚至可能吗?我试过看Interop并且似乎找不到一个可靠的例子,说明如何使用Win32控件,而不是完整的表单.我可以完全访问旧的VB6代码,并且无论如何都可以修改它.
主WPF应用程序的以下屏幕截图将用作包装器/容器:
http://www.evocommand.com/junk_delete_me/main_menu_mockup.png
当前VB6维护屏幕将加载到上一屏幕右侧的"空白区域"部分.
有没有办法在WPF表单中的某种容器或包装器类型控件中托管/显示完整的WinForms表单(而不仅仅是单个控件)?我正在寻找类似于概念的东西来自虚拟包含来自php或iframe的html.可能通过将其编译为OCX或DLL.
我正在尝试在顶部实现一个带有文本框的进度条,同时显示进度%.但百分比是分数.是否可以通过绑定对数据集中返回的值进行舍入,还是必须通过后面的代码完成?
<ProgressBar Grid.Row="2" Grid.ColumnSpan="2" Height="25" HorizontalAlignment="Stretch" Margin="5,5,5,2" Name="pbProgressIndex" VerticalAlignment="Top" Width="Auto" Value="{Binding Path=ProgressIndex, Mode=OneWayToSource}" />
<TextBlock Grid.Row="2" Grid.ColumnSpan="2" Height="25" Name="txtProgressIndex" Text="{Binding Path=ProgressIndex, Mode=OneWayToSource}" Width="Auto" Foreground="Black" FontWeight="Bold" FontSize="14" FontFamily="Verdana" Padding="5" Margin="5,5,5,5" TextAlignment="Center" />
Run Code Online (Sandbox Code Playgroud)