Восстановление пути установки пакета Rails 3… Теперь он установлен в моем корневом каталоге

Я сделал что-то при установке подключаемого модуля vestal_versions, что привело к созданию каталога vestal_versions в корне моего приложения со следующим текстом:

 - Application
  - APP
  - DB
   - vestal_versions
    - ruby
     - 1.8
      - bin
      - cache
      - doc
      - gems
      - specifications

Что, если удалить, предотвращает приложение не работает ... Как мне обновить пакет, чтобы все это установить в нужное место, Ниже вы видите, как я их связал. Конечно, эта привязка не работает, потому что данные установлены в ...

alt text Здравствуйте,

У меня есть 3 кнопки для добавления, удаления, открытия как RelayCommands в моем DocumentViewModel . Ниже вы видите, как я их связал. Конечно, эта привязка не работает, потому что данные установлены в ItemsSource из ListBox , а кнопки вне этого ...

Тогда я попытался установить DataContext в первой StackPanel, которую вы видите в моем фрагменте кода.

вот так:

НО тогда возникла новая проблема. .. теперь документы НЕ отображаются / не перечислены в ListBox: /

Как я могу заставить работать ОБЕИХ?

<StackPanel Orientation="Vertical" >
                                            <ListBox 
                                                Height="100"
                                                Width="Auto"
                                                Focusable="True"
                                                ScrollViewer.HorizontalScrollBarVisibility="Auto" 
                                                ScrollViewer.VerticalScrollBarVisibility="Auto" 
                                                Grid.Row="1" 
                                                Name="itemListBox"
                                                BorderThickness="1"      
                                                ItemsSource="{Binding DocumentViewModelList}"
                                                >
                                                <ListBox.ItemTemplate>
                                                    <DataTemplate>
                                                        <StackPanel>      
                                                            <!-- xxx -->
                                                            <TextBlock Text="{Binding Path=Name}" />
                                                        </StackPanel>
                                                    </DataTemplate>
                                                </ListBox.ItemTemplate>
                                                <ListBox.ItemContainerStyle>                                                  
                                                        <Style TargetType="{x:Type ListBoxItem}">
                                                            <Setter Property="IsSelected" Value="{Binding Mode=TwoWay, Path=IsSelected}" />
                                                        </Style>                                                  
                                                </ListBox.ItemContainerStyle>
                                            </ListBox>
                                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">                                                
                                                <Button Command="{Binding DeleteDocumentCommand}" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" Content="Delete" />
                                                <Button Command="{Binding    AddDocumentCommand}" HorizontalAlignment="Stretch" Content="Add" />
                                                <Button Command="{Binding   OpenDocumentCommand}" HorizontalAlignment="Stretch" Content="Open" />                                               
                                            </StackPanel>
                                        </StackPanel>

ОБНОВЛЕНИЕ :

Я попробовал это :

 <Button Command="{Binding Path=DeleteDocumentCommand, RelativeSource={RelativeSource AncestorType={x:Type DocumentViewModel}}}"

и получил это : ссылка на тип не может найти общедоступный тип с именем 'DocumentViewModel'

Я хотел бы придерживаться решения StackPanel DataContext и каким-то образом создать ListBox. ItemsSource захватывает DocumentViewModelList через привязку RelativeSource с FindAncestor. Я пробовал кое-что, но безуспешно, может быть, кто-нибудь сможет опубликовать хороший фрагмент :)

Хорошо, я нашел решение: .

это обязывает к текущему DataContext, который является "DocumentViewModelList" круто!

ОБНОВЛЕНИЕ 2:

хорошо, есть еще одна проблема, может быть, если кто-то может предоставить решение по этому поводу, я помечаю эту ветку как решение тогда. Не хочу открывать новую ветку, потому что весь текст + фрагмент кода тот же ... Проблема теперь => Выбор 1-го документа активирует кнопку. Выбор любой другой кнопки не активирует кнопку, ПОЧЕМУ? Что не так с привязкой моего свойства IsSelected?

DocumentViewModel.cs:

private bool _isSelected;
        public bool IsSelected 
        {
            get { return _isSelected; }
            set
            {
                if (_isSelected == value)
                    return;

                _isSelected = value;
                this.RaisePropertyChanged("IsSelected");
            }
        }  

ОБНОВЛЕНИЕ 2:

Это код для включения кнопок: Что я не так? Я не получаю ошибок привязки в консоли вывода!?

private void DeleteDocument()
        {
            throw new NotImplementedException();
        }

        private bool CanDeleteDocument()
        {
            return (IsSelected == true);
        }

        private void AddDocument()
        { 

        }

        private void OpenDocument()
        { 

        }

        public RelayCommand DeleteDocumentCommand
        {
            get { return _deleteDocumentCommand ?? (_deleteDocumentCommand = new RelayCommand(() => DeleteDocument(), () => CanDeleteDocument())); }
        }

        public RelayCommand AddDocumentCommand
        {
            get { return _addDocumentCommand ?? (_addDocumentCommand = new RelayCommand(() => AddDocument())); }
        }

        public RelayCommand OpenDocumentCommand
        {
            get { return _openDocumentCommand ?? (_openDocumentCommand = new RelayCommand(() => OpenDocument())); }
        }
1
задан Elisabeth 12 September 2010 в 08:12
поделиться