2013-09-27 1 views
1

Silverlight 기반 웹 응용 프로그램이있는 곳은 어디입니까? ListBox가 마우스 휠 스크롤에서 스크롤하지 않는다는 것을 발견했습니다. 세로 스크롤 막대를 클릭하여 스크롤 할 수 있습니다. 마우스 휠이나 2 손가락 스크롤을 사용할 때 작동하지 않습니다. 목록 상자 2의 마우스 휠 스크롤에서 잘 작동하지만 ListBox 1에서는 작동하지 않습니다.Silverlight ListBox가 Mac에서 마우스 휠 움직임을 스크롤하지 않습니다.

목록 상자 1

<Border CornerRadius="6,6,0,0" Grid.Row="1" Margin="2,5,2,0" BorderThickness="1,1,1,0" BorderBrush="#FFC4C4C4"> 
<Grid> 
     <ListBox x:Name="filterListBox" Grid.Row="0" Grid.Column="1" Background="Transparent" SelectedIndex="{Binding SelectedFilterIndex, Mode=TwoWay}" SelectedItem="{Binding SelectedFilterItem, Mode=TwoWay}" SelectionChanged="ListBox_SelectionChanged" BorderThickness="0" VerticalAlignment="Center" Margin="5,3" ItemContainerStyle="{StaticResource FilterListBoxItemStyle}"> 
        <i:Interaction.Triggers> 
         <i:EventTrigger EventName="SelectionChanged"> 
          <ei:CallMethodAction TargetObject="{Binding}" MethodName="FilterSelectionChanged"/> 
         </i:EventTrigger> 
        </i:Interaction.Triggers> 
        <ListBox.ItemsPanel> 
         <ItemsPanelTemplate> 
          <StackPanel Orientation="Horizontal"/> 
         </ItemsPanelTemplate> 
        </ListBox.ItemsPanel> 
        <ListBoxItem Padding="7,2" VerticalContentAlignment="Center" Tag="Popular" Visibility="{Binding Path=IsPopularChannelTab, Mode=TwoWay, Converter={StaticResource BoolToVisibilityConverter}}"> 
          <TextBlock Text="{Binding Path=PopularChannelsText, Source={StaticResource PageStrings}}" FontSize="13" FontWeight="SemiBold" FontFamily="Arial" VerticalAlignment="Center" /> 
         </ListBoxItem> 
        <ListBoxItem IsEnabled="False" VerticalContentAlignment="Center" Visibility="{Binding Path=IsPopularChannelTab, Mode=TwoWay, Converter={StaticResource BoolToVisibilityConverter}}"> 
          <StackPanel Orientation="Horizontal"> 
           <Border BorderBrush="#FFBDBDBD" BorderThickness="0,2,2,2" HorizontalAlignment="Center" VerticalAlignment="Center" Height="20"/> 
           <Border BorderBrush="#FFF8F8F8" BorderThickness="0,2,2,2" HorizontalAlignment="Center" VerticalAlignment="Center" Height="20"/> 
          </StackPanel> 
         </ListBoxItem> 
        <ListBoxItem Padding="7,2" VerticalContentAlignment="Center" Tag="All"> 
         <TextBlock Text="{Binding Path=AllChannelsText, Source={StaticResource PageStrings}}" FontSize="12" FontWeight="SemiBold" FontFamily="Arial" VerticalAlignment="Center"/> 
        </ListBoxItem> 
        <ListBoxItem IsEnabled="False" VerticalContentAlignment="Center"> 
         <StackPanel Orientation="Horizontal"> 
          <Border BorderBrush="#FFBDBDBD" BorderThickness="0,2,2,2" HorizontalAlignment="Center" VerticalAlignment="Center" Height="20"/> 
          <Border BorderBrush="#FFF8F8F8" BorderThickness="0,2,2,2" HorizontalAlignment="Center" VerticalAlignment="Center" Height="20"/> 
         </StackPanel> 
        </ListBoxItem> 
        <ListBoxItem Padding="7,2" VerticalContentAlignment="Center" Tag="Favorites"> 
         <TextBlock Text="{Binding Path=FavoritesText, Source={StaticResource PageStrings}}" FontSize="13" FontWeight="SemiBold" FontFamily="Arial" VerticalAlignment="Center"/> 
        </ListBoxItem> 

       </ListBox> 
</Grid> 
</Border>    

목록 상자 2

<Grid Visibility="{Binding Path=IsHavingProvider, Converter={StaticResource BoolToVisibilityConverter}}" Margin="0,20,0,0" Grid.Row="4"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="18"/> 
        <RowDefinition Height="auto"/> 
       </Grid.RowDefinitions> 

       <core:MagicTextBlock Grid.Row="0" TextBlockStyle="{StaticResource TextBlock_Style}" Text="{Binding Path=Activity, Source={StaticResource PageStrings}}" /> 

       <ListBox Margin="0,10,0,0" Grid.Row="1" x:Name="Provider" Width="480" Height="195" HorizontalAlignment="Left" ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
        ItemsSource="{Binding Providers,Mode=TwoWay}" 
        SelectedItem="{Binding SelectedProvider,Mode=TwoWay}" 
        ItemContainerStyle="{StaticResource Table_ListBoxItem_Style}" 
        DisplayMemberPath="name"> 
       </ListBox> 
      </Grid> 

답변

0

나쁜 소식을 전하고 죄송합니다 : 매킨토시 용

일부 현재 마우스 장치가 물리적가 또는 가상 mo 바퀴를 사용하십시오. 그러나 Silverlight에서 Macintosh에서 사용하는 프로그램 액세스 계층은 브라우저 호스팅 상태에서 Silverlight로 mousewheel 이벤트 전달을 지원하지 않습니다. Silverlight 응용 프로그램이 브라우저를 벗어나는 경우 Macintosh 플랫폼 클라이언트에서 Silverlight MouseWheel 이벤트를 처리 할 수 ​​있습니다. 그렇지 않은 경우 HTML 플랫폼레벨에서 Macintosh 플랫폼의 마우스 이벤트를 처리하십시오. 자세한 내용은 플랫폼 종속성을 참조하십시오.

MSDN Silverlight Differences on Windows and Macintosh에서.

좋은 소식은 자바 스크립트를 통해 HTML 페이지의 마우스 휠 이벤트를 청취하고 해당 이벤트를 JavaScript interop API을 통해 Silverlight에 전달할 수 있다는 것입니다. 추가 나쁜 소식은 응용 프로그램의 GUI 요소에 자동으로 연결되도록하는 방법을 모른다는 것입니다. (예 : 목록 상자 스크롤). 내가 아는 한, 수동으로 듣고, 사용자가 마우스로 가리키고있는 객체를 선택하고 프로그래밍 방식으로 GUI 구성 요소를 스크롤해야합니다.

+0

그러나 일부 목록 상자에서는 괜찮습니다. 내 케이스의 목록 상자 2는 HTML 브릿지없이 잘 작동합니다. –

+0

@Chris_vr : 죄송합니다. 내 실수로 질문을 읽습니다. 목록 상자의 배경을 불투명하게 만들고 마우스 커서를 올리기 전에 마우스 커서가 내용의 시각적으로 물리적 인 부분 위에 놓 이도록하십시오. –

+0

: Safari에서만 볼 수 있습니다. Mac의 Firefox에서 제대로 작동합니다. –

관련 문제