نمایش نتایج 1 تا 4 از 4

نام تاپیک: bind نشدن

  1. #1

    bind نشدن

    سلام
    من یک فرم دارم که از چندین usercontrol تشکیل شده یکی از این uc ها شامل چندین textbox هست که با کلیک دکمه ای یک پنجره باز می‌شود و جست و جویی داخل آن انجام می‌شود حال نتیجه این جست و جو را می‌خواهم به uc والد برگردونم با mvvm اما انجام نمیشود

  2. #2

    نقل قول: bind نشدن

    سلام
    شما پروژه یا کد های مربوطه را به همراه متن خطا یا هر چیز مورد نظر ، بذارید .
    این جوری ، چیزی نمیشه گفت !

  3. #3

    نقل قول: bind نشدن


    <Window x:Class="Fruit_Shop.Views.BuyingPage"
    <uc1:VendorUc x:Name="venuc" DataContext="{Binding Path=vendor,UpdateSourceTrigger=PropertyChanged,Mo de=TwoWay}"></uc1:VendorUc>

    define uc...........

    <TextBlock HorizontalAlignment="Left" Grid.Column="0" Padding="5,5,5,5" Grid.Row="0" VerticalAlignment="Center" Style="{DynamicResource MaterialDesignTextBlock}" >نام</TextBlock>


    <TextBox MinWidth="200" Grid.Column="2" Grid.Row="0" Padding="5,5,5,5" x:Name="txtfname"
    Text="{Binding FirstName, Mode=TwoWay}"
    HorizontalAlignment="Left" VerticalAlignment="Center" Style="{DynamicResource MaterialDesignTextBox}" ></TextBox>

    <Button Content="انتخاب مشتری " Style="{DynamicResource MaterialDesignFlatAccentBgButton}" Margin="20"
    Command="{Binding Path=OpenMyWindow}" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2"
    CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"></Button>






    باز کردن پنجره ی جست جوی کاربر
    private void OpenWindowClick(Window obj)
    {
    SearchVendorPage p = new SearchVendorPage();
    p.Show();


    }

    بستن فرم جست و جو و ارسال اطلاعات به window اصلی

    private void closeWindowClick(Window obj)
    {
    }


  4. #4

    نقل قول: bind نشدن

    سلام
    خوب ، مشکلش چیه؟

    شما میتونید توی متد closeWindowClick ، توسط obj ، مقدار پروپرتی Text ئه TextBox (در صورت public یا داشتنِ سطح دسترسی مورد نیاز) در ویندوز دیگه را بخونید .
    یا اگه TextBox تون private هست ، میتونید Text ئه TextBox را داخل یه پروپرتی دیگه در همون ویندوز بریزید و در متد closeWindowClick ، اون پروپرتی را بخونید .

    البته ، شاید بهتر اش اینه که اگه مشکل Binding ندارید ، در ویندوز اصلی تون ، Binding کنید .
    فرضا Text ئه TextBox تون را به پروپرتی ای در BuyingPage تون ، binding کنید .

    -----------

    command ، مکانیسمی هست برای آپدیت کردن model توسط view (اون هم اغلب ، از ورودی وسیله ها طراحی شده) .
    شما در این مسئله تون ، دو ویندوز و user control دارید (از user control ، به ویندوز میخواین داده منتقل کنید) که هر دو ، در لایه ی view هستن . دیگه نیازی به استفاده از command و قوانین mvvm مطرح نیست .
    هر چند بدون command ها هم با استفاده از متدها در viewmodel هم میشه این کار را انجام داد و model را توسط view ، آپدیت کرد (کار کرد command ها ، بیشتر در command های غیر دستی (غیر از custom command) هستن که راحت تر عملیات مربوط به ورودی ها مثل copy و اینها را در mvvm پیاده سازی کرد) .


    ضمنا ، کدی که اینجا گذاشتید که کامل نیست که بشه از روش نظر بی نقص داد .
    فرضا DataContext (کلا Source ئه Binding) ئه پروپرتی Text ئه TextBox ای که دادید ، حداقل تا زمانی که کد xaml اش را در بالا دادید و نوشتید ، معلوم نیست چیه (کد سی شارپ اش هم اگه باشه که ندادید) .
    یا فرضا چرا UpdateSourceTrigger برای Binding ئه DataContext ئه VendorUc تعریف شده یا براش 2 طرفه تعیین شده؟
    مگه میخواین وقتی DataContext ئه VendorUc تغییر کرد ، پروپرتی vendor هم تغییر کنه که بهش مربوط نمیشه؟
    و ... .

تاپیک های مشابه

  1. مشکل این ارور (bind value)
    نوشته شده توسط olampiad در بخش PHP
    پاسخ: 4
    آخرین پست: جمعه 16 بهمن 1394, 11:27 صبح
  2. bind کردن گرید در زمان اجرا
    نوشته شده توسط بمب منطقی در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: چهارشنبه 03 خرداد 1391, 17:55 عصر
  3. سوال: نحوه Bind کردن یک فیلد باینری
    نوشته شده توسط reuonis در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 16 آبان 1389, 09:50 صبح
  4. قفل نرم افزاری - خوردن یک برنامه exe یا همون Bind کردن
    نوشته شده توسط ehsanocx در بخش امنیت در نرم افزار و برنامه نویسی
    پاسخ: 2
    آخرین پست: پنج شنبه 09 اردیبهشت 1389, 18:35 عصر
  5. bind
    نوشته شده توسط yazdan در بخش توسعه‌ی لینوکس و نرم افزارهای آزاد
    پاسخ: 3
    آخرین پست: چهارشنبه 14 مرداد 1383, 16:09 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •