我的應用程序MyCursor和MyOtherCursor有兩個自定義遊標,它們都是在xaml中設計的,並且我在xaml.cs中添加了一些行爲爲他們每個人。這種行爲對於兩者都是一樣的,所以我讓它們從基類繼承以減少代碼重複。如何防止使用錯誤的基類覆蓋myControl.g.cs
XAML:
<UserControl x:Class="MyProject.MyCursor"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="24" Height="24">
<Ellipse Stroke="Black" StrokeThickness="5" Height="24" Width="24" Fill="White" />
</UserControl>
CS:
public partial class myCursor: CursorBase
{
public InterchangeCursor()
{
InitializeComponent();
}
}
public class CursorBase : UserControl
{
public virtual void MoveTo(Point pt)
{
this.SetValue(Canvas.LeftProperty, pt.X);
this.SetValue(Canvas.TopProperty, pt.Y);
}
}
沒有XAML基類,它是純粹的CS定義。
我的問題是,如果我在xaml中更改MyCursor的某些內容,將重新生成MyCursor.g.cs文件,而不是從CursorBase繼承,g.cs中的部分類繼承自System.Windows.Controls .UserControl。由於xaml.cs文件中分部類的另一面仍繼承CursorBase,因此會發生構建錯誤。我發現每次修復g.cs文件都很煩人。有誰知道如何防止這種情況發生?
它不應該發生......嘗試刪除等植物學生成的文件夾中生成的所有文件都存在並重新構建和看到的。 – Malcolm 2010-05-19 06:01:21
請發佈您的XAML。 – 2010-05-19 06:56:41
@馬爾科姆我試過了,它又發生了。我懷疑我錯過了如何繼承SL中的控制行爲。 – 2010-05-19 07:26:53