سؤال

ولدي مجموعة من UserControls التي تحتاج إلى بعض خصائص مماثلة. هكذا أنا حددت لفئة فرعية مجردة من UserControl الذي يحدد هذه الخصائص وتحديث .xaml.cs وملفات .g.cs أن ترث من هذه الفئة الأساسية. جميع يجمع بشكل جيد ويعمل بشكل جيد. عظيم! ولكن .... .g.cs يتم إنشاء الملفات وسيتم مجدد، فكيف أقول مزيج أو Visual Studio للحفاظ على وراثة من صفي قاعدة بدلا من UserControl؟

هل كانت مفيدة؟

المحلول

وتحتاج إلى تغيير XAML قليلا لبادئة إعلان UserControl مع مساحة الاسم:

<local:MyBaseControl x:Class="MyNameSpace.MyControl"
    xmlns:local="clr-namespace:MyNameSpace"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <!-- Content -->
</local:MyBaseControl>

وأين MyNameSpace هو مساحة الاسم الخاص بك (دوه!)، MyBaseControl هو الفئة الأساسية وMyControl هو التحكم الخاصة بك أن يرث من MyBaseControl. س: جزء فئة لا تحتاج إلى أن تكون في نفس مساحة الاسم، لقد أبقى فقط الشيء نفسه بالنسبة للمثال

هنا و <لأ href = " http://wildermuth.com/2008/08/21/Base_Classes_for_User_Controls "يختلط =" نوفولو noreferrer "> هنا .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top