سؤال

لذلك لدي STACKPANEL الذي أستخدمه كحلقة قضائية. لدي مكان حيث أريد أن يتم إنشاء أزرار بناء على البيانات التي أرملها، وهذا يعمل بشكل جيد، لكنني أرغب في وضع الأزرار أفقيا، وليس رأسيا كما يحدث حاليا. إليك لقطة شاشة:

alt text

وهنا رمز من وصف الرصيد الخاص بي:

<StackPanel Name="wpReleaseButtons" Orientation="Horizontal" Grid.Row="2">
    <ItemsControl IsTabStop="False" ItemsSource="{Binding Path=BranchCommands}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button Tag="{Binding}" Padding="3">
                     <TextBlock Text="{Binding Path=DisplayValue}" />
                </Button>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</StackPanel>

لست متأكدا ما أفعله خطأ هنا. ان اي معلومات موضع تقدير كبير. شكرا!

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

المحلول

أود أن أقول أنها تبدو وكأنها ItemsControl هو ما يعرض الأزرار عموديا. إذا كنت تريد الأزرار في ItemsControl أن تكون أفقيا، فأنت بحاجة إلى StackPanel أن تكون في ItemsControl ItemsPanelTemplate, ، ليس في الاتجاه والطريقة الأخرى مثل ما لديك في الكود الخاص بك:

<ItemsControl IsTabStop="False" ItemsSource="{Binding Path=BranchCommands}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Button Tag="{Binding}" Padding="3">
                <TextBlock Text="{Binding Path=DisplayValue}" />
            </Button>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

قد أكون مخطئا قليلا على ItemsControl.ItemsPanel بت لأنني لم أحصل على أي بيانات لاختبارها مع ...

يحرر: بالإضافة إلى المرجع BEA، هناك بعض الأشياء الجيدة من قبل الدكتور WPF..

نصائح أخرى

لا أستطيع رؤية صورتك (تم حظرها بواسطة جدار الحماية الخاص بشركتي)، ولكن هنا أذهب إلى أي حال ...

من المحتمل أن يعمل الاتجاه الخاص بك = "الأفقي" "كما ينبغي: أنه يحتوي فقط على عنصر طفل واحد، وهي عبارة عن induescontrol. بدلا من ذلك، حاول إجراء عنصر تحكم للحصول على InditureControl الخاص بك، حيث يحتوي التحكم في التحكم في STACKPANEL بتوجيه الاتجاه = "أفقي".

أتمنى أن يساعدك هذا!

يحرر:

مرة أخرى، يأتي BEA من خلال إجابة / مثال!

http://bea.stollnitz.com/blog/؟p=10.

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