我有一个应用程序,由我的前任编写,使用WPF,但我对它并不十分熟悉。如何在XAML中使用WPF“行为”?
我不得不接受他编译的DLL,从this webpage获取源代码并将其转换为VB,因为编译的DLL过去在桌面安装中工作,拒绝在我们的终端服务器上工作。
因此,我已经采取了C#代码,并转换所述
public static class BusyIndicatorBehavior
到
Public Module BusyIndicatorBehavior
我已删除的顶层名字空间(命名空间ScrumSprintMonitor.UI.Wpf.Behaviors),因为我真的不知道它应该代表什么,现在坦率地说,我不知道如何在我拥有的XAML代码中引用它。
现有的代码如下:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MainWindow"
x:Name="Window"
Title="{Binding Path=WindowTitle}"
UseLayoutRounding="True"
xmlns:l="clr-namespace:myAppName"
xmlns:b="clr-namespace:BusyIndicator;assembly=BusyIndicator" WindowState="Maximized">
<Window.Resources>
<ResourceDictionary Source="ResourceDictionary.xaml" />
</Window.Resources>
<Grid x:Name="LayoutRoot">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF8B8B8B" Offset="0"/>
<GradientStop Color="#FF484848" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" x:Name="grdFolder" b:BusyIndicatorBehavior.BusyState="{Binding Path=BusyState}">
正如你所看到的,以前工作的DLL被称为“BusyIndicator.DLL”,与命名空间“b”的引用,然后B由成为网格的一个属性。不知何故。奇妙的。
有人可以猜测我如何引用现有项目中的“BusyIndicator”代码吗?我意识到我可能已经遗漏了一些重要的信息,但我在这里很无能。
你是什么意思?“我现在可以参考现有项目中”BusyIndicator“代码了吗?”如果上面的代码工作,你已经有了一个参考。 – 2011-04-07 11:13:47
对不起,我不清楚。上面的代码是现有的代码,它引用了一个DLL。此DLL无法在我们的终端服务器上运行。我已经得到了我认为是该DLL的源代码,并将其集成到了我的代码中。我现在有一些工作(希望)VB代码,但是非工作XAML必须改变以考虑到BusyIndicator现在对于项目不可或缺的变化。上面的代码是原始代码,不起作用。 AUGH! – Frosty840 2011-04-07 11:20:11