วิธีสร้าง WPF UserControl ด้วยเนื้อหา NAMED
ฉันมีชุดการควบคุมพร้อมคำสั่งและตรรกะที่แนบมาซึ่งใช้ซ้ำในลักษณะเดียวกันอยู่ตลอดเวลา ฉันตัดสินใจที่จะสร้างการควบคุมผู้ใช้ที่มีการควบคุมและตรรกะทั่วไปทั้งหมด อย่างไรก็ตามฉันต้องการการควบคุมเพื่อให้สามารถเก็บเนื้อหาที่สามารถตั้งชื่อได้ ฉันลองทำสิ่งต่อไปนี้: <UserControl.ContentTemplate> <DataTemplate> <Button>a reused button</Button> <ContentPresenter Content="{TemplateBinding Content}"/> <Button>a reused button</Button> </DataTemplate> </UserControl.ContentTemplate> อย่างไรก็ตามดูเหมือนว่าเนื้อหาใด ๆ ที่อยู่ในส่วนควบคุมผู้ใช้จะไม่สามารถตั้งชื่อได้ ตัวอย่างเช่นถ้าฉันใช้การควบคุมในลักษณะต่อไปนี้: <lib:UserControl1> <Button Name="buttonName">content</Button> </lib:UserControl1> ฉันได้รับข้อผิดพลาดต่อไปนี้: ไม่สามารถตั้งค่าแอตทริบิวต์ Name "buttonName" ในองค์ประกอบ "Button" 'ปุ่ม' อยู่ภายใต้ขอบเขตขององค์ประกอบ 'UserControl1' ซึ่งมีชื่อที่ลงทะเบียนไว้แล้วเมื่อถูกกำหนดในขอบเขตอื่น ถ้าฉันลบ buttonName ออกมันจะคอมไพล์ แต่ฉันต้องสามารถตั้งชื่อเนื้อหาได้ ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร?