मेरे डब्ल्यूपीएफ 4 डेस्कटॉप-आधारित एप्लिकेशन में साइडबार मेनू वाला एक बड़ा ब्लॉक है जो प्रत्येक विंडो में दोहराता है और एक्सएएमएल की लगभग 70 लाइनें लेता है। कोड पुन: उपयोग में सुधार करने के लिए, मैं दो फ़ाइलों में XAML फाइल विभाजित करने के लिए करना चाहते हैं:उप-एक्सएएमएल फाइलों की संख्या में एक बड़ा एक्सएएमएल विभाजित करें
- XAML फाइल कि साइडबार मेनू (≈70 लाइनों)
- बेस XAML फाइल शामिल है कि के लिए कोड शामिल «शामिल/संदर्भ साइडबार मेनू कोड
साथ XAML-फाइल करने के लिए »के रूप में मैं समझ गया, वहाँ मेरी समस्या को लागू करने के दो तरीके हैं:
- उपयोग ResourceDictionary
- उपयोग UserControl/CustomControl
मेरे प्रश्न हैं:
ResourceDictionary और UserControl के बीच क्या अंतर है? क्या आप मुझे उदाहरण दे सकते हैं जहां मुझे उपयोगकर्ता नियंत्रण और संसाधन डॉट का उपयोग करना है?
क्या आप एक पूर्ण कोड उदाहरण दे सकते हैं कि एक एक्सएएमएल-फाइल की सामग्री को अन्य में कैसे शामिल/आयात करना है?
पीएस है तो बस अपने शैलियों/टेम्पलेट्स आदि के लिए एक कंटेनर तो तुम सच में एक शैली का उपयोग (और यह संदर्भित के बीच एक विकल्प है
<Border Style="{StaticResource Body_SideBarMenu_Border_Settings}">
<StackPanel Style="{StaticResource Body_SideBarMenu}">
<TextBlock Style="{StaticResource Body_SideBarMenu_Title}"
Text="{x:Static res:Resources.WinApp_SideBarMenu_Title}" />
<TextBlock x:Name="SideBar_WinReports"
Style="{StaticResource Body_SideBarMenu_Item}"
Text="{x:Static res:Resources.DashListMarker}">
<Hyperlink KeyboardNavigation.TabIndex="12"
Style="{StaticResource Body_SideBarMenu_Item_Hyperlink}"
Click="Call_WinReports_Click">
<TextBlock Text="{x:Static res:Resources.WinApp_ModuleName_Reports}" />
</Hyperlink>
</TextBlock>
</StackPanel>
</Border>
और, यह केवल पुन: प्रयोज्य नियंत्रणों पर विचार नहीं कर रहा है। आप इसे ऐसे नियंत्रण में कर सकते हैं जो पुन: प्रयोज्य नहीं हैं। – r3st0r3